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

git checkout master
git log

然后是

git checkout branch-X
git log

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


当前回答

你可以得到一个非常漂亮的可视化输出,看看你的分支有什么不同

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X

其他回答

#! /bin/bash
if ((2==$#)); then
  a=$1
  b=$2
  alog=$(echo $a | tr '/' '-').log
  blog=$(echo $b | tr '/' '-').log
  git log --oneline $a > $alog
  git log --oneline $b > $blog
  diff $alog $blog
fi

这是因为如果你有一个可视化的差异工具,它可以让a和b的日志在视觉上被分开,并排分开。将结尾的diff命令替换为启动可视化diff工具的命令。

你可以得到一个非常漂亮的可视化输出,看看你的分支有什么不同

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X

如果你想使用gitk:

gitk master..branch-X

它有一个漂亮的老式GUi

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

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

这很容易做到

git log master..branch-X

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