В чем разница между git diff и git diff HEAD? - PullRequest
0 голосов
/ 25 декабря 2018

Я споткнулся, читая следующее на atlassian: https://www.atlassian.com/git/tutorials/saving-changes/git-diff

git diff HEAD ./path/to/file

Этот пример ограничен ./path/to/file при вызове, он будет сравнивать конкретные изменения врабочий каталог по отношению к индексу, показывающий изменения, которые еще не подготовлены.По умолчанию git diff выполнит сравнение с HEAD.Пропуск HEAD в примере выше git diff ./path/to/file имеет тот же эффект.

Я выяснил, что в некоторых случаях они не будут одинаковыми, если файл, который у меня есть, находится в стадии подготовки.тогда никаких изменений для git diff.но для git diff HEAD он будет сравниваться с головой вместо индекса.так что предложение ниже неправильно?

По умолчанию git diff выполнит сравнение с HEAD

, поскольку оно сравнивается с индексом

1 Ответ

0 голосов
/ 25 декабря 2018

Я прочел ваш вопрос о том, что в примере, приведенном в документации, предполагается, что этап пуст, и, в частности, ни одна версия рассматриваемого файла не была поставлена ​​в сравнении с тем, что находится в рабочем каталоге.

При этих допущениях опция HEAD, которая появляется после git diff, не будет нужна, поскольку в этом случае пропуск HEAD приведет к использованию этапа.И оба они должны быть одинаковыми, поэтому HEAD становится необязательным, по крайней мере, в этом примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...