自分支从当前分支分支以来,获取分支提交日志的最佳方法是什么?到目前为止,我的解决方案是:
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---头
我想获得一个包含提交 x、y、z 的日志。
git diff HEAD...branch
给出这些提交- 但是,
git log HEAD...branch
给出 x、y、z、c、d、e。