現在のブランチからブランチされたときから、ブランチのコミットのログを取得する最良の方法は何ですか?これまでの私の解決策は:
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...branchx、y、z、c、d、eが得られます。