即使删除了子模块的远程和历史记录,Git也会记住它

时间:2013-02-21 00:47:29

标签: git git-submodules

我跟着How do I remove a git submodule删除了一个特定的子模块。但是,如果我尝试在同一路径上添加一个具有不同遥控器的子模块,git最终会检查出与前一个遥控器相关的子模块。

例如,

  1. git submodule添加https://github.com/auto-complete/auto-complete路径/自动完成
  2. 从.gitconfig
  3. 中删除三行自动完成功能
  4. 从.git / config
  5. 中删除两行以进行自动完成
  6. git rm --cached path / auto-complete
  7. git commit -a
  8. git submodule添加https://github.com/Sarcasm/auto-complete路径/自动完成
  9. 此时,我不是从remote2.git获取,而是以路径/自动完成方式结束remote1.git的结帐。

    路径/自动完成中的

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

2 个答案:

答案 0 :(得分:1)

请注意,您现在可以使用(git 1。8。3,2013年4月22日)简化流程:

git submodule deinit

(参见“How do I remove a Git submodule?”)
您仍然需要删除.git/modules/yourSubmodule

答案 1 :(得分:0)

抱歉,我在原问题的其他一个答案中找到了这个:

  

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

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