写git diff HEAD ^ HEAD是一种较短的方式吗?

时间:2016-03-07 12:57:55

标签: git git-diff

我发现自己经常打字,就像我做了一些改变,提交了它,然后要么查找我在那里做的事情以确定下一步该做什么,或者确保我没有添加在将其推送到遥控器之前,任何无意的提交。

无可否认,diff HEAD^ HEAD足够快速输入(git di TAB H TAB ^ H TAB ),但仍然觉得应该有更好的方法。

如何最简单地查看上次提交中所做的所有更改?

5 个答案:

答案 0 :(得分:9)

试试git show。没有其他选项,它会显示最新提交的差异。

git show $something以用户友好的方式显示$something的内容。当$something引用文件时,git show会显示文件的内容。当它引用提交时,Git显示提交(作者,日期,提交日志和差异)。没有更多参数的git show相当于git show HEAD

答案 1 :(得分:5)

您可以使用以下其中一项:

(选择适合您的一个并将其作为别名)。

# the equivalent command (dry run) for pull/push
git log ^branch1 branch2
git log branch1 ^branch 2

git show

# to view the content of the last commit
git show
  

显示一个或多个对象(blob,树,标签和提交)。

     

对于提交,它显示日志消息和文本差异。   它还以git diff-tree --cc。

生成的特殊格式显示合并提交

git log --cc

从git v> 2.6,您将--cc标记添加到日志中,以便您可以使用

git log --cc

它也会显示带有差异的完整日志。

enter image description here

git diff-tree --cc HEAD

git log --cc非常相似。幕后git show是此命令的别名。

enter image description here

答案 2 :(得分:4)

我还发现in this post @HEAD的快捷方式。所以

git diff @^ @

git show @

也是一种选择。

答案 3 :(得分:0)

一种非常甜蜜的方式是使用别名。当然,这是一个快速修复,但

bool contains = detailsDictionary.Contains(selectedItem);

会做到这一点。 现在你可以使用:

$> alias gd="diff HEAD^ HEAD" 

并且您的命令将会运行。

$> gd 命令添加到alias或类似地,并且您不必在每个控制台会话的开头编写它。

答案 4 :(得分:0)

信息:使用git diff的最短语法如下:

git diff @^!

git diff HEAD^!

或使用提到的最短的git show

有关语法含义,请参见https://git-scm.com/docs/gitrevisions#_other_rev_parent_shorthand_notations for r1^!