{{tag>git dev tag étiquette}} ====== Gestion des étiquettes avec git ====== 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 simple * L'étiquette annotée L’étiquette annotée possède un auteur, une somme de contrôle sur la révision et un message de commit. ===== Gérer les tags ===== ==== Lister ===== 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.* ==== Créer ==== 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. ==== Supprimer un tag ==== Pour supprimer un tag, utiliser l'argument **-d** $ git tag -d v0.1 ==== Tags et serveur distant ==== 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 ==== Extraction ==== 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 ===== Références ===== * Pro Git, seconde édition par Scott Chacon et Ben Straub