Избегайте записи последнего хеша коммита при выполнении `git diff` после слияния - PullRequest
0 голосов
/ 29 января 2019

В ситуации, когда я слил последние коммиты от мастера в мою рабочую ветку, я понимаю, что могу проверить git diff любого файла, подготовленного для фиксации, просто запустив git diff <hash> <file> (или первые отличительные гекса-символы для него).Но ... может кто-нибудь сказать мне, если есть возможность, по умолчанию, получить то же поведение, без необходимости искать эти хэш-символы?(SVN ищет последний выпуск по умолчанию.)

Моя интуиция заключается в том, что, поскольку Git известен последнему хешу коммитов, каким-то образом Git может просто использовать этот хэш последнего коммита по умолчанию, или это слишком много дляспросить об этом?Мне больно ловить рыбу, а не мою работу!Это должен быть компьютер.

1 Ответ

0 голосов
/ 29 января 2019

В 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.

...