运行“git rm --cached”会从.git文件夹中删除文件吗?

6tdlim6h  于 2023-05-05  发布在  Git
关注(0)|答案(1)|浏览(202)

我很难理解git rm --cached是做什么的。
例如,我有一个beagle_pft_test repo和“components folder”中的子模块列表。执行git rm --cached会从.git文件夹中删除它吗?:

因为当我输入以下内容时:

git rm --cached components/ChrgTmptrSen

我得到:

rm 'components/ChrgTmptrSen'

但我仍然在.git文件夹中看到该组件:

我不知道它是从哪里移走的。如果我仍然在.git文件夹、.gitsubmodules文件和本地工作目录中的物理组件中看到它

qxsslcnc

qxsslcnc1#

正如我在“How do I remove a submodule?”中提到的,您需要git submodule deinit -f -- a/submodule来注销给定的子模块,即从.git/config文件夹中删除整个submodule.$name部分。加上一个rm -rf .git/modules/a/submodule用于清理。
只有当您仍然希望子模块文件在磁盘上可见时,才需要git rm --cached a/submodule,而gitlink(索引中的特殊条目)将从Git中删除。

相关问题