Различие между мерзавцем НАПРАВЛЯЕТСЯ и текущее состояние проекта?

Я заключаю учебное руководство мерзавца в кавычки:

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

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

Спасибо

46
задан never_had_a_name 20 July 2010 в 19:28
поделиться

2 ответа

Из « Указание ревизий »

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

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

Дело в том, что по умолчанию git diff фактически показывает различия между «текущим состоянием вашего проекта» (т.е. вашими файлами в рабочем дереве) и индексом (не ГОЛОВА).
Другими словами, различия заключаются в том, что вы могли сказать git, чтобы он продолжал добавлять в индекс, но вы этого еще не сделали.

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

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

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

 $ 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

110
ответ дан 26 November 2019 в 20:14
поделиться

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

Вот полное объяснение: http://git-scm.com/docs/git-diff

2
ответ дан 26 November 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: