从阅读Git文档(特别是这个页面,以及相关的命令参考页面:https://git-scm.com/book/en/v2/Git-Tools-Submodules)我仍然觉得有点不清楚子模块的关联SHA的确切时间,如“git”所报告的那样diff --cached SomeSubModule“,得到更新,因为文本在主题上不是很明确。
似乎暗示的是,当子模块中当前检出的提交发生更改时(例如通过“git submodule update --remote”),引用会更新,然后在超级项目中进行提交以反映此情况更改。但是,我想验证这是否正确或是否我误解了。
答案 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”。