Разница между git HEAD и текущим состоянием проекта? - PullRequest
45 голосов
/ 20 июля 2010

Я цитирую учебник git:

git diff shows the diff between HEAD and the current project state

Интересно, что это значит.Разве ГОЛОВА не является текущим активным проектом?

Спасибо

Ответы [ 2 ]

110 голосов
/ 20 июля 2010

Из " Указание ревизий "

HEAD называет коммит, на котором вы основали изменения в рабочем дереве.

Тамдругие головы (FETCH_HEAD, ORIG_HEAD и MERGE_HEAD).См. Ответ Джефроми для получения дополнительной информации.

Дело в том, что по умолчанию git diff фактически показывает различия между "текущим состоянием вашего проекта" (то есть вашими файлами в рабочем дереве) и индекс (не HEAD).
Другими словами, различия в том, что вы могли бы сказать git для дальнейшего добавления в индекс, но у вас все еще нет.

если вы сделаете git diff --cached, , то будет сравнивать индекс с HEAD.

См. git book для получения дополнительной информации (ссылка на архив) :

Обычно используется простой запуск

$ git diff

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

$ git diff --cached

, который покажет вам разницу между индексом и вашим последним коммитом;что вы будете делать, если запустите "git commit" без опции "-a".(В Git версий 1.6.1 и новее вы также можете использовать git diff --staged, который может быть легче запомнить.) Наконец, вы можете запустить

$ git diff HEAD

, который показывает изменения в рабочем каталоге с момента вашей последней фиксации;что вы будете делать, если запустите "git commit -a".

См. также 365git: получение различий между рабочим деревом и другими коммитами :

http://images.abizern.org.s3.amazonaws.com/365git/Feb11/Git%20Diff%202.png

2 голосов
/ 20 июля 2010

git diff предназначен для отображения незафиксированных изменений (т. Е. Работы, которую вы выполнили, но еще не приняли в текущий проект).

Вот полное объяснение: http://git -scm.com / Docs / ГИТ-Diff

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