找到给定祖先的所有悬挂提交 - Git

时间:2011-12-14 01:17:03

标签: git

我有一个包含大量dandling提交的存储库。我只想看到那些有特定祖先的人。这可能吗?

1 个答案:

答案 0 :(得分:2)

是的,这是可能的。

这是一般计划:

  1. 获取所有悬空提交的列表。
  2. 对于每个悬空提交,请执行一个git日志,看看祖先是否存在。
  3. Shell脚本:

    particular_ancestor_hash=<40 character hash>
    for commit in `git fsck --unreachable|grep 'unreachable commit'|awk '{print $3}'`; do
        if git log --format='%H' $commit|grep -q $particular_ancestor_hash; then
            echo $commit
        fi
    done