git - разница текущих изменений перед совершением - PullRequest
85 голосов
/ 06 марта 2012

Я изменил несколько файлов в репозитории git, но еще не зафиксировал их.

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

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

Обычно я просто делаю meld ., но в этом случае я подключаюсь к внешнему серверу через ssh.

Ответы [ 2 ]

125 голосов
/ 06 марта 2012

git diff по умолчанию показывает разницу между вашим рабочим каталогом и index ( промежуточная область для следующего коммита).

Если вы уже добавили ( staged ) изменения в область подготовки , git diff --staged выполнит эту работу. Промежуточная область - это данные, из которых будет сформирован следующий коммит: git commit.

P. S. Хорошее чтение (IMO) для начинающих Git:

  • https://git -scm.com / book / en / v2 (большинство глав; в нем объясняется модель Git и ответы на большинство типичных вопросов)
  • , а затем сразу http://gitready.com/ (советы по использованию).
6 голосов
/ 09 февраля 2017

Что я использую для таких случаев:

git diff HEAD *

Это покажет изменения с момента последнего коммита. Хотя как-то быстрее работает с

git diff .
...