Вы можете генерировать diff между любыми двумя версиями вашего проекта используя git diff:
$ git diff master..test
Это сгенерирует diff между последними коммитами двух ветвей разработки. Если вы предпочитаете найти diff от их общего предка к ветке test, вы можете использовать три точки вместо двух:
$ git diff master...test
git diff это невероятно полезный инструмент для нахождения изменений между любыми двумя точками в истории вашего проекта, или чтобы увидеть что другие разработчики пытаются вносить в новые ветви. и т.д.
Вы будете обычно использовать git diff для нахождения различий между последним коммитом, вашем индексом, и вашей рабочей директории. Это просто сделать выполнив
$ git diff
Это покажет изменения в вашей рабочей директории которые еще не были добавлены в индекс для последующего коммита. Если вы хотите видеть что в индексе готово для коммита то выполните
$ git diff --cached
что покажет вам различия между индексом и вашим последним коммитом; то что вы бы закоммитили, если выполнили коммит командой "git commit" без параметра "-a". В заключении вы можете выполнить
$ git diff HEAD
что покажет изменения в рабочей директории от последнего коммита; то что вы бы закоммитили если выполнили команду "git commit -a".
Если вы хотите увидеть как ваша рабочая директория отличается от состояния проекта в другой ветке, то выполните команду
$ git diff test
Это покажет вам что именно отличается между вашей рабочей директорией и снапшотом в ветке 'test'. Вы также можете ограничить сравнение определенным файлом или поддиректорией добавив path limiter (ограничитель пути):
$ git diff HEAD -- ./lib
Эта команда покажет вам изменения между вашей рабочей директорией и последним коммитом (или, если быть более точным, концом текущей ветки, ограничивая сравнение файлами в поддиректории 'lib'.
Если вы не хотите видеть весь патч, вы можете добавить параметр '--stat', которые ограничит вывод списком файлов с изменениями и с кратким текстовым графическим описанием сколько строк изменилось в каждом файле..
$>git diff --stat
layout/book_index_template.html | 8 ++-
text/05_Installing_Git/0_Source.markdown | 14 ++++++
text/05_Installing_Git/1_Linux.markdown | 17 +++++++
text/05_Installing_Git/2_Mac_104.markdown | 11 +++++
text/05_Installing_Git/3_Mac_105.markdown | 8 ++++
text/05_Installing_Git/4_Windows.markdown | 7 +++
.../1_Getting_a_Git_Repo.markdown | 7 +++-
.../0_ Comparing_Commits_Git_Diff.markdown | 45 +++++++++++++++++++-
.../0_ Hosting_Git_gitweb_repoorcz_github.markdown | 4 +-
9 files changed, 115 insertions(+), 6 deletions(-)
Иногда полезно увидеть общие изменения чтобы освежить память.