在我将最新的master提交合并到我的工作分支的情况下,我知道我可以通过简单地运行git diff
(或第一个唯一的提交文件)来检查已暂存的任何文件的git diff <hash> <file>
六字符)。
但是……有人可以告诉我,是否有一种选项,默认情况下可以获得相同的行为,而不必去寻找这些哈希字符? (SVN默认情况下会寻找最新版本。)
我的直觉是,由于Git知道最新的提交哈希,因此Git可以默认使用该最新的提交哈希,还是有太多要求呢? 花钱去买这个哈希表是痛苦的……而不是我的工作!应该是计算机的。
答案 0 :(得分:1)
在Git中,修订名称 HEAD
始终指代当前分支上的最新提交(如果您使用git checkout a38ff0
而不是{{1 }})。因此,您只需将文件名放入此命令模板中即可:
git checkout my-branch
此外,如果您需要在提交之前引用提交,则可以编写git diff HEAD <file>
。对于在提交之前进行两次提交,您可以编写HEAD~
,依此类推。此外,HEAD~2
和HEAD~~
等效于HEAD^^
。 (HEAD~2
的含义有所不同。)
也许您想知道为什么不能只写以下内容:
HEAD^2
这仅在您尚未上演(git diff <file>
)任何更改时才等效。它将文件与最新的提交以及暂存的更改进行比较,而不是仅在指定git add
时发生最新的提交。