Wie vergleiche ich zwei Tags mit git?

435

Ich möchte einen Unterschied zwischen zwei Tags und festgeschriebene Änderungen zwischen diesen beiden Tags machen. Könnten Sie mir bitte den Befehl sagen?

bsd
quelle

Antworten:

744
$ git diff tag1 tag2

oder zeige ein Protokoll zwischen ihnen:

$ git log tag1..tag2

Manchmal kann es zweckmäßig sein, nur die Liste der geänderten Dateien anzuzeigen:

$ git diff tag1 tag2 --stat

und dann schauen Sie sich die Unterschiede für eine bestimmte Datei an:

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

Ein Tag ist nur ein Verweis auf das letzte Commit 'für dieses Tag', sodass Sie einen Unterschied bei den Commits zwischen ihnen machen.

Auch eine gute Referenz: http://learn.github.com/p/diff.html

gauteh
quelle
2
@kaiser lol! Übrigens möchte ich diesen Tipp hinzufügen, um ganze Verzeichnisse von innen git guiunter "tools / add" zu vergleichen git difftool -d $REVISION! und um diese Antwort auch zu verlinken
Aquarius Power
Gibt es eine Möglichkeit, den git logBefehl so zu gestalten, dass nur zusätzliche Commits angezeigt werden, keine gemeinsam genutzten Commits?
CMCDragonkai
@CMCDragonkai das ist, was dieser Befehl tut, es zeigt die zusätzlichen Commits auf tag2 seit tag1.
Gauteh
2
Ebenfalls nützlich: git diff tag1Gibt einfach Unterschiede zwischen Tag1 und Arbeitsverzeichnis an. git diff tag1 HEADUnterschiede zwischen tag1 und dem letzten Commit.
ChrisV
4
Stellen Sie sicher, git pull --tagszuerst zu tun .
Edburns
2

Für eine visuelle Darstellung nebeneinander verwende ich git difftoolmit openDiffauf den Standard-Viewer eingestellt.

Anwendungsbeispiel:

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

Wenn Sie nur an einer bestimmten Datei interessiert sind, können Sie Folgendes verwenden:

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

Als Randnotiz kann das tags/<TAG>s durch <BRANCH>es ersetzt werden, wenn Sie an diffZweigen interessiert sind .

Tom Howard
quelle