В Git имя ревизии HEAD
всегда ссылается на последний коммит в вашей текущей ветке (или напрямую на коммит, если вы сделали git checkout a38ff0
вместо git checkout my-branch
).Таким образом, вы можете просто указать свое имя файла в этом шаблоне команды:
git diff HEAD <file>
Кроме того, если вам нужно обратиться к коммиту до заголовка, вы можете написать HEAD~
.И за два коммита до головы вы можете написать HEAD~2
и так далее.Кроме того, HEAD~~
и HEAD^^
являются эквивалентами HEAD~2
.(HEAD^2
означает нечто иное.)
Возможно, вам интересно, почему вы не можете просто написать следующее:
git diff <file>
Это эквивалентно, только если вы не ставили (git add
ред) любые изменения.Он сравнивает файл с последним коммитом и поэтапными изменениями, а не только с последним коммитом, как это происходит при указании HEAD
.