我有一个git repo,另一个repo作为子模块。子模块仅用于此项目。我在subrepo中提交了更改,但是父代repo仍然引用了旧版本(Subproject commit 989471 ..... etc ..)
如何更新父仓库以指向最新版本的子仓库。有没有更好的方法来实现这一点,以便在我更改subrepo时保持同步?
答案 0 :(得分:3)
在子模块中提交后,您将目录更改为父存储库并执行:
git add path/to/submodule
并提交更改。这将更新跟踪的提交ID。您必须为子模块中的每个(一组)提交执行此操作。
这实际上是非常合理的,因为父目录的状态很可能取决于子存储库中的某个状态(例如,如果为程序捆绑库;您可能需要特定版本才能编译工作),这就是为什么跟踪父存储库中的子模块提交而不是盲目地检查指定分支的HEAD的原因。