首页 > 解决方案 > 子模块中的最后一次提交 ID,使其成为父提交

问题描述

我如何将“最后”提交到“使其成为”父级提交的子模块中(假设我为子模块的每个提交创建一个提交到父级)?

例如

父回购 P

子模块 S

对于每次提交到 S master 分支,我都会在 P master 分支中创建一个提交。现在基于 P 的提交 hash=X,我如何在该提交之前找到对 S 的最后一次提交?

注意:我想通过检查时间戳等来做到这一点。

谢谢

标签: gitgit-submodules

解决方案


我不确定我是否理解您的问题,因为如果我确实理解了,那么答案将完全是微不足道的。如果 P 是一个使用 S 作为子模块的超级项目,那么P 中的每个提交(完全使用 S)都会记录要在 S 中签出的 ID。也就是说,如果修订 ID 是简单的计数,并且第一个修订在 P 中从使用 S 的修订版 26 开始,您会看到 P 中的提交说:一遍又一遍地使用 S 的修订版 26,直到您将 P 切换为开始使用修订版 27。然后您会看到 P 中的提交说,一遍又一遍,我使用 S 的第 27 版,依此类推。

因此,如果您想知道 P 中的提交 X 使用的是 S 的哪个版本,只需查看 P 中的提交 X;它告诉你(通过它的树和子树,直到gitlink所在的位置,P 中的提交所要求的 in-S 提交哈希。


推荐阅读