与子模块关联的提交引用何时在其包含的超级项目中更新?

时间:2017-11-06 22:07:37

标签: git git-submodules

从阅读Git文档(特别是这个页面,以及相关的命令参考页面:https://git-scm.com/book/en/v2/Git-Tools-Submodules)我仍然觉得有点不清楚子模块的关联SHA的确切时间,如“git”所报告的那样diff --cached SomeSubModule“,得到更新,因为文本在主题上不是很明确。

似乎暗示的是,当子模块中当前检出的提交发生更改时(例如通过“git submodule update --remote”),引用会更新,然后在超级项目中进行提交以反映此情况更改。但是,我想验证这是否正确或是否我误解了。

1 个答案:

答案 0 :(得分:1)

  

当子模块中当前检出的提交被更改时,引用会更新

是的,但不仅仅是git submodule update --remote 如果在子模块中进行(或获取)任何提交,它将更改。

  

然后在超级项目中进行提交以反映此更改

更确切地说,要添加和提交已更改的元素,该元素为 gitlink special entry in the main repo index
您还可以从父仓库更新该gitlink:请参阅“Git Submodule has a wrong reference to its remote repository”。