Git子模块不会删除

时间:2016-05-14 02:33:07

标签: git github git-submodules

我在将之前的子模块添加回项目后遇到问题。当我尝试添加子模块时,一切都完美无缺,直到我推动我的更改,git抱怨:

remote: Git submodules detected, installing:
remote: No submodule mapping found in .gitmodules for path 'ng/css/lib/submodule-name' 

请记住,这次我将子模块安装到新位置。因此,在上面的代码片段中,错误的路径来自之前的子模块安装,而不是新的。 git在哪里保留这条旧路径信息?

初始子模块添加

我添加了一个git子模块

git submodule add [github link]

当我在以下目录中时:

ng/css/lib

我最终删除了here所描述的子模块。如果您不想阅读我基本上这样做:

rm .gitmodules

删除了.git / config

中的子模块条目
git rm --cached ng/css/lib/submodule-name

许多成功的推送后来我想将子模块添加回项目中。我决定它会像之前的安装一样简单。

git submodule add [github link] ng/global

但事实并非如此,我得到“找不到子模块映射”错误,我不知道git如何或在哪里保留此信息。有没有办法永久清理子模块安装?

1 个答案:

答案 0 :(得分:0)

您的命令未删除.git/modules/ng/css/lib/submodule-name

  • 首先删除该子文件夹(.git repo文件夹的内部),
  • 确保您的第二个git submodule add没有重新引入.gitmodules(如果是,请先删除它)
  • 然后再次尝试添加子模块。