如何让git diff只显示两次提交之间的差异,而不包括中间的其他提交?


当前回答

我的别名设置在~/。git的Bashrc文件:

alias gdca='git diff --cached' # diff between your staged file and the last commit
alias gdcc='git diff HEAD{,^}' # diff between your latest two commits

其他回答

我的别名设置在~/。ZSHRC文件git diff:

alias gdf='git diff HEAD{'^',}' # diff between your recent tow commits

谢谢 @Jinmiao罗


git差别头~2头

在最近的第二次提交和当前之间完成更改。

HEAD方便

从Git 2.19开始,你可以简单地使用:

Git range-diff rev1 -比较两个提交树,从它们的共同祖先开始

或 Git range-diff rev1~..rev1 rev2 ~ . . rev2 -比较2个提交所带来的变化

你可以简单地将2个提交传递给git diff,就像这样:

-> git diff 0da94be  59ff30c > my.patch
-> git apply my.patch

我的别名设置在~/。git的Bashrc文件:

alias gdca='git diff --cached' # diff between your staged file and the last commit
alias gdcc='git diff HEAD{,^}' # diff between your latest two commits

那么这个呢:

git diff abcdef 123456 | less

如果你想要在运行中比较许多不同的差异,将它管道到less是很方便的。