git diff 两次连续提交的快捷方式?

abo*_*abo 4 git

我想用这种行为定义一个快捷方式“git diffn”:

git diffn := git diff HEAD HEAD~1
git diffn 1 := git diff HEAD~1 HEAD~2
git diffn 2 := git diff HEAD~2 HEAD~3
...
Run Code Online (Sandbox Code Playgroud)

第一个没问题,但我不知道如何制作其余的。

use*_*559 7

关于什么:

git show - 显示最后一次提交

git show HEAD~1 - 显示最后一次提交

git show <COMMIT SHA> - 向你展示任何提交

git whatchanged - 显示哪些文件根据 git 日志发生了变化


abo*_*abo 5

我自己想出来的。我在 ~/.gitconfig 中添加了这个怪物:

[alias]
dn = "!sh -c 'if [ $# -eq 0 ] ; then git diff HEAD~1 HEAD ; else git diff HEAD~`expr $1 + 1` HEAD~$1 ; fi' -"
Run Code Online (Sandbox Code Playgroud)

在这之后,

git dn
Run Code Online (Sandbox Code Playgroud)

作品,以及

git dn 1
git dn 2 
...
Run Code Online (Sandbox Code Playgroud)