找到给定提交的所有直接后代

时间:2015-01-15 09:45:05

标签: git git-rev-list

如何找到具有给定提交作为父级的所有提交?

例如,如果我有这个Git提交图,

   G   H   I   J
    \ /     \ /
     D   E   F
      \  |  / \
       \ | /   |
        \|/    |
         B     C
          \   /
           \ /
            A

我想获得B的所有直接后代的列表:DEF

1 个答案:

答案 0 :(得分:4)

您可以使用git rev-list --parents并使用grepawk

过滤父母的子女
git rev-list --all --parents | grep "^.\{40\}.*<PARENT_SHA1>.*" | awk '{print $1}'

<PARENT_SHA1>替换为B提交的sha-1哈希值。