我有一个来自主项目的git commit sha。如何在主项目提交sha中获取每个子模块的最新sha?例如,如果主项目sha是A,我想在提交sha A的代码提交时为每个子模块获取最新的git commit sha。
答案 0 :(得分:0)
执行此操作的一种方法是,假设您拥有的哈希是提交:
git ls-tree <main-sha1>^{tree} path/to/submodule
这应该给你输出像:
160000 commit <submodule-sha1> path/to/submodule
您必须为每个子模块执行此操作,如果您的子模块在项目历史记录中发生了重大变化,则可能会变得棘手。但我想你可以使用:
git show <main-sha1>:.gitmodules
作为一个起点,发现该特定提交存在哪些子模块,以及它们的附加位置。