合并后执行`git diff`时,避免写出最新的提交哈希

时间:2019-01-29 02:39:02

标签: git merge diff

在我将最新的master提交合并到我的工作分支的情况下,我知道我可以通过简单地运行git diff(或第一个唯一的提交文件)来检查已暂存的任何文件的git diff <hash> <file>六字符)。 但是……有人可以告诉我,是否有一种选项,默认情况下可以获得相同的行为,而不必去寻找这些哈希字符? (SVN默认情况下会寻找最新版本。)

我的直觉是,由于Git知道最新的提交哈希,因此Git可以默认使用该最新的提交哈希,还是有太多要求呢? 花钱去买这个哈希表是痛苦的……而不是我的工作!应该是计算机的。

1 个答案:

答案 0 :(得分:1)

在Git中,修订名称 HEAD 始终指代当前分支上的最新提交(如果您使用git checkout a38ff0而不是{{1 }})。因此,您只需将文件名放入此命令模板中即可:

git checkout my-branch

此外,如果您需要在提交之前引用提交,则可以编写git diff HEAD <file> 。对于在提交之前进行两次提交,您可以编写HEAD~,依此类推。此外,HEAD~2HEAD~~等效于HEAD^^。 (HEAD~2的含义有所不同。)

也许您想知道为什么不能只写以下内容:

HEAD^2

这仅在您尚未上演(git diff <file> )任何更改时才等效。它将文件与最新的提交以及暂存的更改进行比较,而不是仅在指定git add时发生最新的提交。