Як порівняти два теги з git?


435

Я хотів би зробити різницю між двома тегами та здійснити зміни між цими двома тегами. Скажіть, будь ласка, команду?

Відповіді:


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


2
@kaiser lol! btw, я хотів би додати цю пораду, щоб порівняти цілі каталоги зсередини git guiна "інструменти / додати", як git difftool -d $REVISION! і зв'язати цей відповідь теж
Водолій Power

Чи є спосіб, щоб git logкоманда показувала лише додаткові коміти, а не спільні коміти?
CMCDragonkai

@CMCDragonkai, що і робить ця команда, вона показує додаткові коміти в tag2, оскільки tag1.
gauteh

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гілки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.