我很难理解git rm --cached
是做什么的。
例如,我有一个beagle_pft_test repo和“components folder”中的子模块列表。执行git rm --cached
会从.git文件夹中删除它吗?:
因为当我输入以下内容时:
git rm --cached components/ChrgTmptrSen
我得到:
rm 'components/ChrgTmptrSen'
但我仍然在.git
文件夹中看到该组件:
我不知道它是从哪里移走的。如果我仍然在.git文件夹、.gitsubmodules文件和本地工作目录中的物理组件中看到它
1条答案
按热度按时间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中删除。