1

我按照如何删除 git 子模块来删除特定的子模块。但是,如果我尝试在同一路径中添加具有不同遥控器的子模块,git 最终会使用前一个遥控器检出子模块。

例如,

  1. git 子模块添加https://github.com/auto-complete/auto-complete路径/auto-complete
  2. 从 .gitconfig 中删除自动完成的三行
  3. 从 .git/config 中删除两行用于自动完成
  4. git rm --缓存路径/自动完成
  5. git 提交 -a
  6. git 子模块添加https://github.com/Sarcasm/auto-complete path/auto-complete

此时,我没有从 remote2.git 获取,而是在路径/自动完成中得到 remote1.git 的结帐。

git remote -v in path/auto-complete 仍然显示https://github.com/auto-complete/auto-complete的来源。

4

2 回答 2

1

请注意,您现在可以使用(git 1.8.3,2013 年 4 月 22 日)简化该过程:

git submodule deinit

(请参阅“如何删除 Git 子模块? ”)尽管如此
,您仍然需要删除.git/modules/yourSubmodule

于 2013-04-23T06:19:19.620 回答
0

抱歉,我在原始问题的其他答案之一中发现了这一点:

除了建议之外,我还必须 rm -Rf .git/modules/path/to/submodule 才能添加具有相同名称的新子模块(在我的情况下,我用原来的叉子替换了叉子)

https://stackoverflow.com/a/9536504/288634

于 2013-02-21T00:55:18.310 回答