猿问

如何删除子模块?

如何删除子模块?

如何删除Git子模块?

顺便问一下,我为什么不能这么做git submodule rm whatever ?


慕莱坞森
浏览 642回答 3
3回答

波斯汪

通过页面Git子模块教程:要删除子模块,您需要:从.gitmodules档案。舞台.gitmodules变化git add .gitmodules从.git/config.跑git rm --cached path_to_submodule(没有尾随斜线)。跑rm -rf .git/modules/path_to_submodule承诺git commit -m "Removed submodule <name>"删除现在未跟踪的子模块文件rm -rf path_to_submodule

至尊宝的传说

只是张便条。由于git 1.8.5.2,有两个命令可以:git rm the_submodule rm -rf .git/modules/the_submodule正如@MarkCheverton的回答正确地指出的那样,如果没有使用第二行,即使您现在删除了子模块,剩余的.git/Module/the_子模块文件夹将阻止在将来添加或替换相同的子模块。同样,正如@vonc所提到的,git rm将在子模块上完成大部分工作。-最新情况(07/05/2017)只是想澄清一下,the_submodule项目中子模块的相对路径。例如,它是subdir/my_submodule如果子模块位于子目录中subdir.正如评论中正确指出的那样其他答案,这两个命令(虽然在功能上足以移除子模块),在[submodule "the_submodule"].段.git/config(截至2017年7月),可以使用第三个命令删除:git config -f .git/config --remove-section submodule.the_submodule 2> /dev/null
随时随地看视频慕课网APP
我要回答