我在此文件夹abc/submodule
中有一个子模块,我使用以下命令将其删除:
rm -rf abc/submodule
# remove submodule in .gitmodules
# remove submodule in .git/config
git rm --cached abc/submodule
git push origin master
现在我想将新的子模块添加到同一个地方:
git submodule add <link> abc/submodule
显示旧子模块的内容而不是新子模块的内容。我该如何解决这个问题?
先谢谢。
答案 0 :(得分:0)
git submodule
将Git信息存储在$toplevel/.git/modules/$sm_path
中。要完全删除它,您需要删除该目录。您应该能够执行以下命令:
repo="submodule"
rm -rf $(cd $repo && git rev-parse --git-dir)
rm -rf $repo
git rm --cached "$repo"
git config --remove-section submodule."$repo"
git config -f .gitmodules --remove-section submodule."$repo"
这是git submodule deinit
的扩展,只与git submodule init
相反。
请注意,您还需要在推送之前提交(这些更改仅暂存)。