2011-12-14 3 views
2

私は多くのダンリングコミットを持つリポジトリを持っています。私は特定の祖先を持つ人を見たいだけです。これは可能ですか?与えられた祖先とのすべてのダングリングコミットを見つけよう - Git

+0

私は非常に多くのダングリングコミットを生産しているものは何でもワークフローの承認ではないにも関わらず、その答えになど興味があります。 –

答えて

2

はい可能です。

ここでは一般的な計画です:

  1. は、すべてのダングリングコミットのリストを取得します。
  2. それぞれのダングリングコミットについて、gitログを実行して、祖先がそこにあるかどうかを確認します。

シェルスクリプト:

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 
関連する問題