Accéder au contenu principal

Tutoriel sur les balises Git : Comment créer, gérer et utiliser les étiquettes

Apprenez à utiliser efficacement les balises Git pour marquer les étapes importantes, organiser votre flux de travail et améliorer la collaboration au sein du projet.
Actualisé 17 avr. 2025  · 8 min de lecture

Je suis ingénieur en apprentissage automatique. S'il est une chose essentielle que j'ai apprise, c'est que le "clean versioning" est plus qu'une bonne pratique. C'est essentiel pour la reproductibilité et la collaboration.

Les balises Git sont essentielles pour marquer les états stables du code. Ils permettent de réaliser des mises à jour, de revenir à une version précédente ou de s'intégrer à des flux de travail CI/CD. Que vous travailliez sur du code, des données ou de nouveaux modèles d'apprentissage automatique, les balises Git vous facilitent la vie, quel que soit votre parcours ou votre rôle.

Dans ce tutoriel, je vais vous expliquer tout ce que vous devez savoir pour appliquer et maîtriser les balises Git. Vous êtes prêt à découvrir comment les balises Git peuvent simplifier votre vie de développeur ? Plongeons dans le vif du sujet.

>Si vous souhaitez d'abord avoir une vue d'ensemble de Git, je vous recommande de lire GitHub et Git Tutorial for Beginners.GitHub et Git Tutorial for Beginners.

Qu'est-ce qu'une étiquette Git ?

Une balise Git est un moyen simple et puissant de marquer des points spécifiques dans l'historique d'un projet. Pensez-y comme si vous aviez placé une note autocollante sur un engagement particulier, en disant : "Ceci est important". 

Les étiquettes Git désignent généralement les versions, les étapes ou les points de contrôle stables de votre base de code. Il s'agit de références fixes à un commit spécifique, mais qui ne créent pas de nouveau commit. Une fois que vous avez étiqueté un commit, cette étiquette y reste ancrée, à moins que vous ne déplaciez ou supprimiez manuellement l'étiquette.

La branche master avec deux étiquettes Git

La branche principale avec deux étiquettes Git. Image de l'auteur.

Il existe deux principaux types de balises :

  • Étiquettes légères : Il s'agit de simples signets. Ils renvoient à un engagement spécifique sans aucune information supplémentaire. Ils sont rapides et faciles à créer, souvent utilisés comme référence locale ou pour un débogage rapide, mais ils ne stockent pas de métadonnées telles que l'auteur ou un message.
  • Tags annotés : Ils sont plus robustes et sont stockés en tant qu'objets Git complets. Ils comprennent le nom, l'adresse électronique, la date et le message de l'auteur du tag et peuvent même être signés de manière cryptographique. Les balises annotées sont idéales pour marquer les points de sortie ou partager des balises avec une équipe.

>Pour en savoir plus sur Git, je vous recommande de consulter les cours Foundations of Git ou Intermediate Git.les cours Fondations de Git ou Git Intermédiaire.

Apprenez les bases de Git dès aujourd'hui

Pour les débutants : Maîtriser le contrôle des versions à l'aide de Git.
Commencez à apprendre gratuitement

Comment créer et gérer des balises Git

La création et la gestion des balises Git sont simples. Voyons quels sont les différents types de balises et comment les appliquer.

Création de balises légères

Une balise légère est comme un pointeur vers un commit. Il n'inclut pas de métadonnées, mais seulement le nom de la balise et le commit vers lequel elle pointe.

Pour en créer un, vous pouvez exécuter la commande suivante 

git tag v1.0.0

Cette commande crée une balise légère pointant vers le commit actuel de HEAD

Vous pouvez également créer un tag pour un commit spécifique en fournissant le hash du commit :

git tag v1.0.0 5c5fc06

Les étiquettes légères sont utiles pour les références rapides et locales, en particulier dans les projets de développement en solo ou le travail temporaire.

Création de balises annotées

Les balises annotées contiennent davantage d'informations, telles que le nom, l'adresse électronique, la date et le message de l'auteur de la balise. Ils sont stockés en tant qu'objets Git complets et sont idéaux pour marquer les versions officielles ou les étapes importantes.

Vous pouvez en créer un en cours d'exécution : 

git tag -a v1.0.0 -m "Release version 1.0.0"

Cette commande crée une balise annotée appelée v1.0.0 avec le message "Release version 1.0.0".

Vous pouvez également marquer une livraison spécifique :

git tag -a v1.0.0 5c5fc06 -m "Tagging older commit"

Les balises annotées offrent une meilleure documentation, s'intègrent bien aux outils CI/CD et aident les équipes à suivre l'historique de manière plus transparente.

Marquer des commits spécifiques

Parfois, vous devez marquer un commit qui n'est pas le plus récent. Pour cela, vous pouvez d'abord récupérer l'historique des commits, puis sélectionner le hash du commit pour lequel vous souhaitez créer une balise.

Pour récupérer le hash du commit, vous pouvez exécuter la commande suivante :

git log --oneline

Copiez ensuite le hachage de la validation dans la liste :

git tag -a v1.0.0 <commit-hash> -m "Tagging v1.0.0 release"

Vérification des étiquettes créées

Pour lister tous les tags de votre référentiel, utilisez :

git tag

Si vous voulez filtrer les étiquettes, par exemple, seulement les versions commençant par v1., utilisez :

git tag -l 'v1.*'

Pour afficher les détails d'une balise spécifique, exécutez :

git show v1.0.0

Travailler avec les balises Git

Une fois que vous avez créé des balises Git, vous devrez souvent les partager, les mettre à jour ou interagir avec elles dans le cadre de votre flux de travail de développement ou de publication. Cette section couvre les tâches les plus courantes pour travailler avec des balises dans des référentiels locaux et distants. 

Envoi de balises à un dépôt distant

Les balises ne sont pas automatiquement poussées vers les dépôts distants lorsque vous exécutez git push. Vous devez les pousser explicitement.

Pour pousser une seule balise :

git push origin v1.0.0

Pour pousser toutes les balises en même temps :

git push --tags

Les balises doivent être poussées pour que vos coéquipiersou les pipelines CI/CD puissent ay accéder. Les balises sont souvent utilisées comme déclencheurs de déploiement, en particulier dans le cadre de flux de versions. Vous pouvez en savoir plus sur la façon de pousser et de tirer des branches dans le tutoriel Git Push and Pull.

Suppression de balises

Si vous souhaitez supprimer une balise, vous pouvez le faire localement et à distance.

Pour le supprimer localement, exécutez la procédure suivante :

git tag -d v1.0.0

Pour ensuite supprimer la même balise du référentiel distant :

git push origin --delete v1.0.0

Vous pouvez également supprimer directement la balise depuis GitHub ou l'interface web de GitLab. 

>Si vous souhaitez en savoir plus sur GitHub et son utilisation, je vous recommande les cours GitHub Foundations et GitHub Concepts.es GitHub Foundations et GitHub Concepts.

Vérification des étiquettes

Vous pouvez adapter votre référentiel à l'état d'une balise spécifique en exécutant :

git checkout v1.0.0

Cependant, cela vous place dans un étatdétaché de la tête. Cela signifie que vous n'êtes plus sur une branche, et que les nouveaux commits n'appartiendront à aucune branche à moins que vous n'en créiez une explicitement :

git checkout -b hotfix-v1.0.0

L'extraction d'une balise spécifique permet de déboguer ou d'examiner une version particulière sans affecter votre branche de développement actuelle. Il est également utilisé pour construire votre application de production à partir d'une version spécifique, par exemple, lorsqu'une image Docker doit être construite.

Marquage après un commit

Si vous devez mettre à jour une balise, par exemple en la remplaçant par un autre commit ou en modifiant le message, vous pouvez simplement forcer une mise à jour en lançant la commande :

git tag -f -a v1.0.0 5c5fc06 -m "retagging"

Vous pouvez également exécuter la même opération sans le hash du commit pour ajouter simplement la balise à l'adresse HEAD.

>Si vous avez besoin d'une vue d'ensemble rapide des commandes traditionnelles de Git, je vous recommande l'aide-mémoire complet de Git.

Bonnes pratiques pour l'utilisation des balises Git

Savoir créer et gérer des balises est une chose, mais les utiliser efficacement en est une autre. Utilisées à bon escient, les balises peuvent améliorer votre flux de travail, votre documentation et la communication au sein de votre équipe.

Utilisation de balises pour la gestion des versions

Les balises sont parfaitespour le versionnage sémantique, quiest la méthode recommandée pour le versionnage de vos versions.

En version sémantique, vos numéros de version suivent le format MAJOR.MINOR.PATCH, par exemple, v.1.2.0.

MAJOR sont destinées aux modifications plus importantes et aux ruptures, tandis que les versions MINOR sont destinées aux nouvelles fonctionnalités et PATCH aux corrections de bogues.

Le versionnage sémantique est très puissant. Il communique clairement la portée des changements, aide les développeurs à comprendre la compatibilité et fonctionne bien avec des outils automatisés tels que les déclencheurs CI/CD.

Respectez une convention de dénomination cohérente. Choisissez un modèle (par exemple, préfixez toujours par v) et suivez-le dans toutes vos publications.

Étiquetage des communiqués

Les étiquettes sont idéales pour marquer les étapes clés de votre projet. Voici quelques types d'étiquettes utiles que vous pouvez envisager :

  • v1.0.0-alpha: Version de test interne
  • v1.0.0-beta: Version bêta publique
  • v1.0.0: Mise en production finale

En étiquetant ces étapes, vous pouvez partager plus facilement des versions de test avec d'autres personnes, revenir à des versions antérieures et conserver un historique clair des déploiements en production. 

Vous pouvez encore améliorer le processus en utilisant des balises annotées pour les versions afin de capturer le contexte et la documentation appropriés.

Éviter la surutilisation des balises

Aussi pratiques et puissantes que soient les balises, elles peuvent devenir inutiles lorsqu'elles sont utilisées à l'excès. Les étiquettes ne doivent marquer que des points significatifs dans l'histoire de votre projet, comme les versions stables, les fonctionnalités majeures, les étapes ou les échéances. 

L'étiquetage de chaque livraison encombre votre dépôt et va à l'encontre de l'objectif d'une navigation rapide. Veillez à ce qu'il soit propre et utile !

En règle générale, il n'est probablement pas nécessaire d'apposer une étiquette si vous ne la déployez pas ou si vous ne l'annoncez pas.

Dépannage des balises Git

Même en appliquant les meilleures pratiques, vous rencontrerez parfois des problèmes lors de l'utilisation des balises Git, en particulier lorsque vous travaillez avec des équipes ou que vous vous synchronisez avec des dépôts distants. Cette section explique comment résoudre les problèmes les plus courants.

Gestion de l'état HEAD détaché

Lorsque vous retirez une étiquette spécifique en utilisant :

git checkout v1.0.0

Git vous met dans un état détaché HEAD, comme mentionné précédemment. Cela signifie que vous n'êtes pas sur une branche, donc si vous faites un commit, il n'appartiendra à aucune branche et pourra être perdu si vous n'agissez pas. 

Vous pouvez y remédier en créant une branche en exécutant ce qui suit :

git checkout -b hotfix-v1.0.0

Vous travaillez maintenant sur une branche et vous pouvez livrer et pousser des changements comme d'habitude.

Résoudre les conflits de balises

Des conflits peuvent survenir lorsque le même nom de balise pointe vers des commits différents localement et à distance. 

Cela se produit souvent lorsque vous supprimez et recréez une balise localement, ou lorsque quelqu'un d'autre force une balise.

Il existe deux options pour résoudre ce problème.

Option 1 : Supprimer et réinsérer la balise

git tag -d v1.0.0
git push origin --delete v1.0.0
git tag -a v1.0.0 -m "Corrected tag"
git push origin v1.0.0

Option 2 : Forcer la mise à jour de la balise

Si vous êtes sûr que votre étiquette locale est la bonne et que vous en avez l'autorisation :

git push origin -f v1.0.0

Mais soyez prudent avec cette option, car le passage en force peut écraser les modifications des autres. Ne l'utilisez que lorsque vous êtes sûr de vous ou après avoir communiqué avec votre équipe.

Conclusion

Les balises Git sont un outil puissant lorsqu'elles sont utilisées à bon escient. Dans ce tutoriel, vous avez appris :

  • Que sont les balises Git et quand les utiliser ?
  • Comment appliquer les balises Git à votre dépôt ?
  • Bonnes pratiques pour l'utilisation des balises Git
  • Comment résoudre les problèmes les plus courants lorsque vous travaillez avec des balises Git ?

Qu'il s'agisse de publier des modèles d'apprentissage automatique, de diffuser des mises à jour d'un produit de données ou de collaborer au sein d'une équipe, les balises vous aident à marquer des moments importants dans le calendrier de votre projet. Ils permettent d'organiser les choses, de les reproduire et de faciliter le retour en arrière ou le déploiement.

J'utilise constamment les étiquettes Git. Ils me font gagner des heures en me permettant de revenir à des versions stables lorsque des bogues apparaissent ou de déclencher des flux de travail CI/CD automatisés. Je les utilise pour étiqueter et versionner les images Docker pour les constructions de production, en veillant à ce que tout ce que j'expédie soit entièrement traçable et documenté.

Commencez donc à utiliser les balises dès aujourd'hui et transformez votre flux de travail Git !

Apprenez les bases de Git dès aujourd'hui

Pour les débutants : Maîtriser le contrôle des versions à l'aide de Git.

FAQ

À quoi sert une étiquette Git ?

Une balise Git marque des points spécifiques dans l'historique d'un dépôt, souvent pour des versions ou des étapes importantes.

Quelle est la différence entre les balises Git légères et les balises Git annotées ?

Les balises légères sont de simples références à une livraison, tandis que les balises annotées stockent des métadonnées telles que l'auteur, la date et le message.

Que se passe-t-il lorsque j'extrais une balise dans Git ?

Vous entrez dans l'état "detached HEAD", ce qui signifie que vous n'êtes pas sur une branche, et que les commits ne seront pas sauvegardés dans une branche à moins que vous n'en créiez une.

Comment créer une étiquette Git ?

Utilisez git tag pour une balise légère ou git tag -a -m "message" pour une balise annotée.

Les tags Git sont-ils couramment utilisés dans les flux de travail CI/CD ?

Oui. Les balises peuvent déclencher des constructions ou des déploiements automatisés dans les pipelines CI/CD, en particulier lorsqu'il s'agit de baliser des versions.


Patrick Brus's photo
Author
Patrick Brus
LinkedIn

Je suis un ingénieur cloud avec de solides bases en génie électrique, en apprentissage automatique et en programmation. J'ai commencé ma carrière dans le domaine de la vision par ordinateur, en me concentrant sur la classification des images, avant de passer aux MLOps et aux DataOps. Je suis spécialisé dans la construction de plateformes MLOps, le soutien aux data scientists et la fourniture de solutions basées sur Kubernetes pour rationaliser les flux de travail d'apprentissage automatique.

Sujets

Apprenez-en plus sur Git avec ces cours !

Cours

Introduction to Git

2 hr
28.1K
Discover the fundamentals of Git for version control in your software and data projects.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow