Git 从最后N个提交中获取差异的速记?
我知道我能做到:Git 从最后N个提交中获取差异的速记?,git,Git,我知道我能做到: git diff HEAD^..HEAD 但是有没有更容易记住的速记,比如: git diff foo N 其中N可以是从现在开始的任意数量的提交,以获得的累积差异 来自: 修订参数的后缀~表示提交对象,它是命名提交对象的第代父级,仅位于第一个父级之后。 也就是说,rev~3相当于rev^^^,后者相当于rev^1^1^1 考虑以下示例: 是等效的表单(感谢注释中提到的HEAD^..表单)。 (作为注释,它们不等同于git diff HEAD ^,因为它使用的是工作目录,而
git diff HEAD^..HEAD
但是有没有更容易记住的速记,比如:
git diff foo N
其中N
可以是从现在开始的任意数量的提交,以获得的累积差异 来自:
修订参数的后缀~
表示提交对象,它是命名提交对象的第
代父级,仅位于第一个父级之后。也就是说,
rev~3
相当于rev^^^
,后者相当于rev^1^1^1
考虑以下示例:
是等效的表单(感谢注释中提到的HEAD^..
表单)。(作为注释,它们不等同于git diff HEAD ^,因为它使用的是工作目录,而不是最后一次提交) 因此:
应该做你需要做的事情(如评论中提到的)。使用
git diff HEAD~N
。或者使用git-diff-HEAD~N..
排除未提交的更改。只是一个小问题:git-diff-HEAD^HEAD
和git-diff-HEAD^
不等价-后者显示了HEAD^
和工作树之间的更改。从这个问题(虽然不太清楚)我猜他想要git diff HEAD~15 HEAD
。当使用范围表示法,但忽略一侧的ref时,它将使用HEAD
作为默认值。因此,git diff HEAD~15..
是一个较短的选项。@chrisk:noted(并添加到答案中)。谢谢。我只是觉得另一个答案有点冗长。
git diff HEAD^..HEAD
git diff HEAD^..
git diff HEAD^ HEAD
git diff HEAD~15 # diff the working tree with the 15th previous commit
git diff HEAD~15 HEAD # diff the last commit with the 15th previous commit