GIT - 22 Marquage d'évènements spéciaux avec des tags

Dans cette leçon, on regarde les tags Git : des étiquettes que l'on peut attacher à n'importe quel commit pour marquer un point de repère important (release, version stable, jalon). Je suis dans le repository test, sur master, working directory propre, avec plusieurs commits déjà dans l'historique.

Tag léger vs tag annoté

Par défaut, sans préciser de commit cible, le tag s'attache au commit courant (HEAD). On peut créer un tag léger simplement en donnant un nom :

git tag mon-tag
git tag --list

Avec un git hist on voit que mon-tag apparaît dans l'historique. Mais ce tag léger ne porte aucune information — il sert juste de pointeur. La pratique recommandée est d'utiliser un tag annoté, qui inclut un message, une date et un auteur. Supprimons d'abord le tag léger et créons un tag annoté :

git tag -d mon-tag
git tag -a v1.0 -m "version 1.0"
git tag --list
  • -a <nom> : crée un tag annoté
  • -m "message" : message associé au tag
  • -d <nom> : supprime un tag
  • --list : liste tous les tags du repository

Voir les détails d'un tag annoté

Pour afficher les métadonnées complètes du tag annoté :

git show v1.0

Git renvoie le nom du tagueur (vous), la date de création, le message associé au tag, puis tout le détail du commit qu'il référence. C'est extrêmement utile pour documenter les versions importantes : releases publiques, jalons de stabilité, hotfixes. Les tags peuvent ensuite être poussés sur un remote avec git push --tags.

En résumé

Les tags Git sont des étiquettes permettant de marquer des événements ou étapes importantes dans l'historique des commits. Il existe deux types de tags: les tags légers, qui sont de simples pointeurs, et les tags annotés, qui incluent des informations supplémentaires comme le tagueur, la date et un message. Pour créer un tag léger, on utilise `git tag <nom>`, et pour un tag annoté, `git tag -a <nom> -m "message"`.

Points clés

  • Tags légers vs tags annotés: les tags légers sont de simples pointeurs sans information, tandis que les tags annotés stockent le nom du tagueur, la date et un message
  • Création: `git tag <nom>` pour un tag léger, `git tag -a <nom> -m "message"` pour un tag annoté
  • Suppression d'un tag: `git tag -d <nom>`
  • Lister les tags: `git tag` et afficher les détails avec `git show <nom>`
  • Les tags marquent des points importants ou des versions (ex: v1.0) pour faciliter le suivi des étapes clés dans le projet

Questions fréquentes

Quelle est la différence entre un tag léger et un tag annoté?

Un tag léger est juste une étiquette simple sans information associée, créée avec `git tag <nom>`. Un tag annoté inclut des métadonnées (tagueur, date, message), créé avec `git tag -a <nom> -m "message"`, et permet d'ajouter du contexte à des événements importants.

Comment créer un tag annoté avec un message?

Utilisez la commande `git tag -a <nom> -m "message"`, par exemple `git tag -a v1.0 -m "version 1.0"`. Vous pouvez ensuite consulter les détails avec `git show v1.0`.

Comment supprimer un tag existant?

Utilisez la commande `git tag -d <nom>`, par exemple `git tag -d montag` pour supprimer le tag nommé montag.