私は2つのブランチマスターとデベルを持っていますが、通常はより多くのコミットをマスターしています。共通の祖先のところまで開発中のコミットのログを取得するにはどうすればよいですか。あなたがdevelブランチに入っているときにインタラクティブなrebase masterを呼び出すときに表示されるものと同じリスト。ブランチにあるコミットのログを表示します
、これは動作しません:
git log devel..master
私は2つのブランチマスターとデベルを持っていますが、通常はより多くのコミットをマスターしています。共通の祖先のところまで開発中のコミットのログを取得するにはどうすればよいですか。あなたがdevelブランチに入っているときにインタラクティブなrebase masterを呼び出すときに表示されるものと同じリスト。ブランチにあるコミットのログを表示します
、これは動作しません:
git log devel..master
。これはあなたが必要なすべてです。
git log master..devel
---A---B---C---D devel
\
\---E---F---F master
git log master..devel
それについて考えてはgit log ^master devel
と同じ意味します。では、マスターの歴史の中ではなく、デベールの歴史には何がありますか? D
。
はそれを見つけた、私はこのコマンドを実行する必要があります。
git log $(git merge-base HEAD master)..HEAD
私はdevelの枝にいるよ
。あなたが投稿したときに私はちょうどこの答えを書いていました:-(あなたは約10秒で私を退治しました。 – CodeWizard
マージベースを見つける必要があります。
これはgitのは、最後にあなたが
git log $(git merge-base <branch1> <branch2>)..branch2
他のいくつかの選択肢からフォークているコミットを見つける方法です:merge-base
答えはそれ自体は間違っていないが、それは必要ありません
git log ^<branch1> <branch2>
git log ^<branch2> <branch1>
git diff <branch1> <branch2>
あなたはちょうど注文をしています。 [Mortの解答](http://stackoverflow.com/a/36946434/1256452)を参照してください(図をメモしておきましょう:コミットグラフの断片を最初に描画すると、Gitでほとんどの場合役に立ちます)。 – torek