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

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

6 ответов

Решение
$ 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

Если исходный код находится на Github, вы можете использовать их инструмент сравнения: https://help.github.com/articles/comparing-commits-across-time/

Для параллельного визуального представления я использую 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>Если вы заинтересованы в diffИнг ветки.

Как сказал @Nakilon, это инструмент для сравнения, встроенный в github, если вы это используете.

Чтобы использовать его, добавьте URL-адрес репо с помощью "/ compare".

Количество вставок/удалений между 2 тегами (объединить все фиксации между тегами, например, 1 файл был изменен/зафиксирован 6 раз между тегами)

      git log --numstat --format='' v1.0..v1.1 | awk '{files += 1}{ins += $1}{del += $2} END{print "total: "files" files, "ins" insertions(+) "del" deletions(-)"}'
total: 6 files, 57 insertions(+) 12 deletions(-)

разница между тегами, например, разница одного и того же файла в теге v1.0 и в v1.1

       git diff --shortstat v1.0 v1.1
 1 file changed, 50 insertions(+), 5 deletions(-)

Просто чтобы показать, что статистика дляdiff(похоже наvimdiff), и для всех коммитов между ними разные.

Пожалуйста, не используйте его, если вы ищете только команду, потому что основная цель этого решения - представить вам способ решения!

Как сказал Накилон, вы можете использовать " вне сравнения", а также (чтобы упростить жизнь) вы можете использовать скрипт git-cheat-sheet, который содержит некоторые полезные команды, включая следующие (он откроет установленный "вне сравнения" и будет показать разность тэгов):

./git_commands.sh -diff TAG1 TAG2

Другие вопросы по тегам