2017-03-15 18 views
0

2つのgitコミットハッシュがある場合、それらのコミット間の関連するすべてのマージのブランチ名をどのように調べますか?2つのgitコミットのマージを見つけるには?

私は、指定された2つの日付の間に指定されたターゲットブランチにどのブランチがマージされたかに関する統計を収集するスクリプトを作成しようとしています。

私はあなたがすべてのブランチのリストを取得することができます知っては次のようにコマンドを使用して、ターゲット・ブランチにマージ:

git branch --merged <target_branch> 

しかし、どのようにコミットの一定の範囲に制限しますか?

+0

DAG内自体があいまいである「間」(起因する分岐とマージ構造の概念を) - おそらくあなたは 'git rev-list --ancestry-path^exclude include'と同等のものを望みますが、おそらくはそうではないかもしれませんが、" between "、--min-parents = Andrew Minerの答えのように、2つのaka '--merges'がこのようなコミットを選択します。 – torek

答えて

1

git logコマンドに--mergesフラグを付けて使用したいと思います。あなたはrelease-1.0release-2.0間のすべてのマージを見つけたいのであれば、たとえば、あなたは言うだろう:

git log release-1.0..release-2.0 --merges 
+0

これは、ターゲットブランチにマージされたログだけでなく、2つのコミット間のすべてのログを含むようです。 – Cerin

+0

これは非常に奇妙です...私は '--merges'引数を使用するときにマージすることのみを限定しています。また、[Official documentation](https://git-scm.com/docs/git-log#git-log---merges)もあります。どのプラットフォーム/ gitバージョンを使用していますか? –

+0

はい、マージに制限しますが、ターゲットブランチだけでなく、すべてのブランチにマージを示します。 – Cerin

関連する問題