現在のブランチからブランチされたときから、ブランチのコミットのログを取得する最良の方法は何ですか?これまでの私の解決策は:
git log $(git merge-base HEAD branch)..branch
git-diffのドキュメントは、git diff A...B
と同等であることを示していgit diff $(git-merge-base A B) B
ます。一方、git-rev-parseのドキュメントには、r1...r2
として定義されていることが示されていr1 r2 --not $(git merge-base --all r1 r2)
ます。
これらはなぜ違うのですか?git diff HEAD...branch
必要な差分が表示されることに注意してください。ただし、対応するgit logコマンドを使用すると、必要以上の差分が得られます。
写真では、これを仮定します:
x --- y --- z ---ブランチ / --- a --- b --- c --- d --- e --- HEAD
コミットx、y、zを含むログを取得したいと思います。
git diff HEAD...branch
これらのコミットを与える- ただし、
git log HEAD...branch
x、y、z、c、d、eが得られます。