Les étiquettes (tags) sont des références supplémentaires. Elles permettent de marquer un état particulier du projet. git propose deux types de tags:
L’étiquette annotée possède un auteur, une somme de contrôle sur la révision et un message de commit.
Pour lister les étiquettes, utiliser la commande git tag sans argument. L'option -l permet de filtré les tag s'ils sont nombreux. Les tags sont affichés par ordre alpha
$ git tag
$ git tag -l v1.0.*
Pour créer un tag simple saisir le nom du nouveau tag
$ git tag v1.0
Le tag est placé au même niveau que le HEAD. Pour placer un tag sur un commit particulier utiliser son SHA-1:
$ git tag alpha-1.0 9f94598
Pour un tag annoté, utiliser une des options -a -m ou -s
$ git tag -a v1.1
Les options -s et -m permettent respectivement de signer le tag et d'ajouter un message de commit.
Pour supprimer un tag, utiliser l'argument -d
$ git tag -d v0.1
Les étiquettes sont locales, il faut les pousser volontairement sur le serveur distant si on souhaite les rendre visibles par tous. Un tag même placé sur une branche suivie n'est pas automatiquement poussé sur le serveur distant:
$ git push origin v1.0
Après invocation de cette commande le tag v1.0 sera poussé sur le serveur distant désigné par l'alias origin.
Pour pousser toutes les nouvelles étiquettes sur le serveur distant:
git push origin --tags
Pour replacer le répertoire de travail dans un état correspondant à une étiquette spécifique, il est possible de créer une branche et d'extraire dans celle-ci la révision correspondant au tag:
$ git checkout -b version1 v1.0