DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesCollaborer efficacement avec Git et GitHub05 - Versionner avec les tags Git

Détails

  • 15 minutes
  • Intermédiaire

Objectifs

  • Créer des tags légers et annotés
  • Pousser des tags vers GitHub
  • Appliquer le semantic versioning avec Git
Module Collaborer efficacement avec Git et GitHub

Exercice 05 : Versionner avec les tags Git

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Créer un tag léger et un tag annoté
  • ✅ Pousser des tags vers un repository distant
  • ✅ Utiliser git describe pour positionner un commit dans l'historique
  • ✅ Appliquer les conventions du semantic versioning (v1.0.0)

Durée estimée : 15 minutes | Difficulté : ⭐⭐⭐☆☆


📖 Contexte

Les tags Git permettent de marquer des points précis dans l'historique, typiquement des releases. Contrairement aux branches, les tags ne bougent pas : ils pointent toujours sur le même commit.

Le semantic versioning (SemVer) est la convention la plus répandue : vMAJEUR.MINEUR.PATCH.

  • MAJEUR : changement incompatible avec l'API existante
  • MINEUR : nouvelle fonctionnalité rétrocompatible
  • PATCH : correction de bug rétrocompatible

📋 Énoncé

Vous avez un repository git-intermediaire-tp avec quelques commits. Vous allez créer des tags pour marquer des versions, les pousser sur GitHub, et naviguer dans l'historique grâce à eux.


🧭 Déroulement

Tâche 1 : Créer un tag léger

Sur le commit actuel de main, créez un tag léger nommé v1.0.0. Listez les tags disponibles et affichez le commit auquel il pointe.

Indice : git tag v1.0.0 crée un tag léger sur HEAD. git tag liste tous les tags. git show v1.0.0 affiche les détails du commit tagué. Un tag léger est juste un alias vers un commit - pas de métadonnées supplémentaires.

Vérification : git tag affiche v1.0.0. git show v1.0.0 affiche le commit correspondant.


Tâche 2 : Créer un tag annoté

Créez un nouveau commit, puis créez un tag annoté v1.1.0 avec un message de release décrivant les changements. Comparez la différence avec le tag léger.

Indice : git tag -a v1.1.0 -m "Release v1.1.0 : ajout de nouvelles sections". Un tag annoté est un objet Git complet avec auteur, date et message - recommandé pour les releases officielles.

Vérification : git show v1.1.0 affiche les métadonnées du tag (tagger, date, message) AVANT les détails du commit.


Tâche 3 : Pousser les tags vers GitHub

Poussez vos deux tags vers le repository distant. Vérifiez sur GitHub que les tags apparaissent dans l'onglet "Tags" / "Releases".

Indice : git push ne pousse PAS les tags par défaut. Utilisez git push origin v1.0.0 pour un tag précis, ou git push origin --tags pour tous les tags à la fois. Sur GitHub, les tags annotés peuvent être convertis en Releases.

Vérification : Sur GitHub, l'onglet "Releases" (ou "Tags") affiche v1.0.0 et v1.1.0.


Tâche 4 : Naviguer et supprimer des tags

Créez un tag v0.9.0 sur un ancien commit (pas HEAD). Puis supprimez-le localement et sur le remote.

Indice : git tag v0.9.0 <SHA> tague un commit précis. git tag -d v0.9.0 supprime localement. git push origin --delete v0.9.0 supprime le tag distant.

Vérification : git tag ne liste plus v0.9.0. Sur GitHub, le tag n'apparait plus.


Tâche 5 : Utiliser git describe

Faites 2 commits après v1.1.0. Utilisez git describe pour afficher la position de HEAD par rapport au dernier tag.

Indice : git describe --tags affiche v1.1.0-2-gabcdef : dernier tag (v1.1.0), nombre de commits depuis (2), SHA du commit actuel (gabcdef). Très utilisé dans les pipelines CI/CD pour générer des numéros de build automatiques.

Vérification : git describe --tags retourne une chaîne au format v1.1.0-N-g<sha>.


🗂️ Mini-Projet

bash
# Tag léger
git tag v1.0.0
git tag                                # lister les tags

# Tag annoté (recommandé pour les releases)
git tag -a v1.1.0 -m "Release v1.1.0"
git show v1.1.0

# Pousser les tags
git push origin --tags                 # tous les tags
git push origin v1.1.0                 # un tag précis

# Tagger un ancien commit
git tag v0.9.0 <SHA>
git tag -d v0.9.0                      # supprimer localement
git push origin --delete v0.9.0        # supprimer sur le remote

# Décrire la position dans l'historique
git describe --tags

Checkpoints :

  • git tag liste v1.0.0 et v1.1.0
  • git show v1.1.0 affiche les métadonnées du tag annoté
  • Les tags sont visibles sur GitHub dans l'onglet "Tags"
  • git describe --tags retourne un identifiant de build

Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement
  • Tâche 1 : Créer un tag léger
  • Tâche 2 : Créer un tag annoté
  • Tâche 3 : Pousser les tags vers GitHub
  • Tâche 4 : Naviguer et supprimer des tags
  • Tâche 5 : Utiliser git describe
  • 🗂️ Mini-Projet