【发布时间】:2010-09-08 09:20:10
【问题描述】:
自分支从当前分支分支以来,获取分支提交日志的最佳方式是什么?到目前为止我的解决方案是:
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。
【问题讨论】:
-
据我所知,您出于您的目的错误地使用了“git log”。我在下面添加了我的答案。