如何为root repo的特定提交找到git子模块的提交?

时间:2018-03-08 09:43:28

标签: git git-submodules

问题是:如何查找在某个特定提交中记录的git repo的每个子模块的提交(不检查此提交)。

我知道,对于工作副本我可以使用

git ls-files --stage

这会给我(除其他外)每个子模块记录的提交。

问题是我想在root repo中查看提交的这些信息,但未检出。

对于那些感兴趣的人来说,问题来自需要将repo中的分支与许多子模块合并。有趣的是,这个问题没有在互联网上广泛报道(或者我不能使用谷歌)。

我们说,我在根目录中有两个分支:branch_abranch_b。我想将{{1>}中的某些 提交合并到branch_b。具体来说,我想说,我想将提交与哈希branch_a合并。

  • 为此,我需要找出哪些提交记录在每个子模块的提交bbb123的根目录的branch_b中。 [正是为了这个我需要我的问题的答案]。
  • 现在我应该检查,如果子模块的这些提交与bbb123中记录的相应子模块的提交不同,我想要合并。
  • 如果提交是相同的,那么我什么都不做,但是如果提交不同,那么我应该将子模块的相应提交(在branch_a中记录)合并到它的状态相同的子模块中在branch_b
  • 对所有子模块完成后,我可以合并根目录。然后Git会建议我使用新创建的子模块合并命令来解决冲突。 [如果事实上我可以首先在根目录中开始合并,那么具有不同注释的子模块将被报告为冲突,我需要通过合并子模块来解决这些问题。]

可能我过于复杂。如果有人知道更简单的方式,我也会感激...

0 个答案:

没有答案
相关问题