Comment comparer deux tags avec git?

435

Je voudrais faire une différence entre deux balises et des modifications validées entre ces deux balises. Pourriez-vous s'il vous plaît me dire la commande?

bsd
la source

Réponses:

744
$ git diff tag1 tag2

ou afficher le journal entre eux:

$ git log tag1..tag2

parfois, il peut être pratique de ne voir que la liste des fichiers qui ont été modifiés:

$ git diff tag1 tag2 --stat

puis regardez les différences pour un fichier particulier:

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

Une balise n'est qu'une référence à la dernière validation «sur cette balise», de sorte que vous faites une différence sur les validations entre elles.

Aussi, une bonne référence: http://learn.github.com/p/diff.html

gauteh
la source
2
@kaiser lol! btw, je voudrais ajouter cette astuce pour comparer des répertoires entiers de l'intérieur git guià "tools / add" like git difftool -d $REVISION! et pour lier cette réponse aussi
Aquarius Power
Existe-t-il un moyen de faire en sorte que la git logcommande affiche uniquement les validations supplémentaires, pas les validations partagées?
CMCDragonkai
@CMCDragonkai, c'est ce que fait cette commande, elle montre les validations supplémentaires sur tag2 depuis tag1.
gauteh
2
Également utile: git diff tag1donne simplement les différences entre tag1 et répertoire de travail; git diff tag1 HEADdifférences entre tag1 et commit le plus récent.
ChrisV
4
Assurez-vous de faire d' git pull --tagsabord.
edburns
2

Pour une représentation visuelle côte à côte, j'utilise git difftoolavec openDiffset sur le visualiseur par défaut.

Exemple d'utilisation:

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

Si vous n'êtes intéressé que par un fichier spécifique, vous pouvez utiliser:

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

En remarque, les tags/<TAG>s peuvent être remplacés par <BRANCH>es si vous êtes intéressé par des diffbranches.

Tom Howard
la source