我在分支x上,并在它上面添加了更多的提交。我想看看MASTER和我所在的分支在提交方面的所有差异。我可以做一个

git checkout master
git log

然后是

git checkout branch-X
git log

和视觉上的区别,但我希望有一个更简单,更不容易出错的方法。


当前回答

这很容易做到

git log master..branch-X

这将显示分支x有而master没有的提交。

其他回答

如果你想使用gitk:

gitk master..branch-X

它有一个漂亮的老式GUi

如果你想要基于提交消息进行比较,你可以执行以下操作:

git fetch
git log --oneline origin/master | cut -d' ' -f2- > master_log
git log --oneline origin/branch-X | cut -d' ' -f2- > branchx_log
diff <(sort master_log) <(sort branchx_log)

如果您使用的是Linux,那么gitg是一种非常快速且图形化的方法。

如果你坚持使用命令行,你可以使用:

git log --oneline --decorate

为了让git日志在默认情况下更好,我通常设置这些全局首选项:

git config --global log.decorate true
git config --global log.abbrevCommit true

我建议使用以下方法来查看“在提交中”的区别。对于对称差分,重复反向参数的命令:

git cherry -v master [your branch, or HEAD as default]

这不是完美的答案,但对使用Github的人来说更好:

去你的回购:见解->网络