如何从主项目sha获取子模块sha

时间:2015-11-12 17:11:25

标签: git

我有一个来自主项目的git commit sha。如何在主项目提交sha中获取每个子模块的最新sha?例如,如果主项目sha是A,我想在提交sha A的代码提交时为每个子模块获取最新的git commit sha。

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是,假设您拥有的哈希是提交:

git ls-tree <main-sha1>^{tree} path/to/submodule

这应该给你输出像:

160000 commit <submodule-sha1> path/to/submodule

您必须为每个子模块执行此操作,如果您的子模块在项目历史记录中发生了重大变化,则可能会变得棘手。但我想你可以使用:

git show <main-sha1>:.gitmodules

作为一个起点,发现该特定提交存在哪些子模块,以及它们的附加位置。