Как сравнить два тега с git?

435

Я хотел бы сделать различие между двумя тегами и зафиксировать изменения между этими двумя тегами. Не могли бы вы сказать мне команду?

BSD
источник

Ответы:

744
$ git diff tag1 tag2

или показать журнал между ними:

$ git log tag1..tag2

иногда может быть удобно видеть только список файлов, которые были изменены:

$ git diff tag1 tag2 --stat

а затем посмотрите на различия для определенного файла:

$ git diff tag1 tag2 -- some/file/name

Тег - это только ссылка на последний коммит «по этому тегу», так что вы делаете различие между коммитами между ними.

Также хорошая ссылка: http://learn.github.com/p/diff.html

gauteh
источник
2
@ Кайзер лол! Кстати, я хотел бы добавить этот совет, чтобы сравнить целые каталоги изнутри git guiв "инструменты / добавить", как git difftool -d $REVISION! и связать этот ответ тоже
Водолей Power
Есть ли способ заставить git logкоманду показывать только дополнительные коммиты, а не общие коммиты?
CMCDragonkai
@CMCDragonkai, это то, что делает эта команда, она показывает дополнительные коммиты на tag2 начиная с tag1.
Гаут,
2
Также полезно: просто git diff tag1дает различия между tag1 и рабочим каталогом; git diff tag1 HEADразличия между tag1 и последним коммитом.
ChrisV
4
Обязательно сделайте git pull --tagsсначала.
Эдбурнс
2

Для параллельного визуального представления я использую git difftoolс openDiffустановленным по умолчанию средством просмотра.

Пример использования:

git difftool tags/<FIRST TAG> tags/<SECOND TAG>

Если вас интересует только конкретный файл, вы можете использовать:

git difftool tags/<FIRST TAG>:<FILE PATH> tags/<SECOND TAG>:<FILE PATH>

Как примечание, tags/<TAG>s можно заменить на <BRANCH>es, если вы заинтересованы в diffветвях.

Том Ховард
источник