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