Marquer les étapes importantes

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Bienvenue, explorateur Git! Aujourd'hui, nous allons plonger dans l'une des fonctionnalités les plus utiles de Git pour marquer des points importants dans l'historique de votre projet : les étiquettes (Tags). Si vous avez déjà souhaité pouvoir facilement marquer et revenir à des étapes importantes de votre projet, telles que les versions de sortie, alors les étiquettes Git sont exactement ce que vous cherchez.

Les étiquettes dans Git sont comme des panneaux indicateurs dans la chronologie de votre projet. Elles vous permettent de marquer des points spécifiques dans l'historique de votre dépôt comme étant importants. Cela est particulièrement utile pour marquer les points de sortie (v1.0, v2.0, etc.), ou tout autre étape importante de votre projet.

Dans ce labo (LabEx), nous aborderons :

  1. Création d'étiquettes légères (Lightweight Tags) : Étiquettes rapides et simples
  2. Création d'étiquettes annotées (Annotated Tags) : Objets complets et plus détaillés dans la base de données Git
  3. Liste des étiquettes : Comment voir toutes les étiquettes de votre dépôt
  4. Consultation des étiquettes : Comment afficher votre projet à un point spécifique marqué par une étiquette
  5. Suppression des étiquettes : Comment supprimer les étiquettes lorsqu'elles ne sont plus nécessaires

À la fin de ce labo, vous serez à l'aise pour créer, gérer et utiliser des étiquettes dans vos projets Git. Cela vous offrira un outil puissant pour organiser l'historique de votre projet et référencer facilement les points importants de votre processus de développement.

Commençons notre voyage dans le monde des étiquettes Git!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BranchManagementGroup -.-> git/checkout("Switch Branches") git/BranchManagementGroup -.-> git/tag("Git Tags") subgraph Lab Skills git/init -.-> lab-387493{{"Marquer les étapes importantes"}} git/commit -.-> lab-387493{{"Marquer les étapes importantes"}} git/checkout -.-> lab-387493{{"Marquer les étapes importantes"}} git/tag -.-> lab-387493{{"Marquer les étapes importantes"}} end

Configuration de votre espace de travail

Avant de commencer à utiliser les étiquettes (tags), configurons un espace de travail avec quelques validations (commits) à étiqueter. Nous allons créer un nouveau répertoire, initialiser un dépôt Git et ajouter quelques fichiers avec plusieurs validations pour simuler le développement d'un projet.

Ouvrez votre terminal et tapez ces commandes :

cd ~/project
mkdir git-tags-lab
cd git-tags-lab
git init

Maintenant, créons quelques fichiers et effectuons une série de validations. Vous pouvez copier et coller les commandes suivantes :

echo "## My Awesome Project" > README.md
git add README.md
git commit -m "Initial commit"

echo "function greet(name) { console.log('Hello, ' + name + '!'); }" > app.js
git add app.js
git commit -m "Add greeting function"

echo "const PI = 3.14159;" >> app.js
git add app.js
git commit -m "Add PI constant"

echo "function calculateArea(radius) { return PI * radius * radius; }" >> app.js
git add app.js
git commit -m "Add area calculation function"

Analysons ce que nous venons de faire :

  1. Nous avons créé un fichier README et effectué notre première validation.
  2. Nous avons créé un fichier JavaScript avec une fonction de salutation et l'avons validé.
  3. Nous avons ajouté une constante PI au même fichier et l'avons validé.
  4. Enfin, nous avons ajouté une fonction de calcul de surface et l'avons validée.

Maintenant, nous avons un dépôt avec un historique à étiqueter!

Création d'étiquettes légères (Lightweight Tags)

Commençons par créer une étiquette légère. Les étiquettes légères sont essentiellement juste un pointeur vers une validation (commit) spécifique - imaginez-les comme une branche qui ne change pas. Elles sont simples à créer et à utiliser, ce qui les rend parfaites pour une utilisation temporaire ou personnelle.

Pour créer une étiquette légère, utilisez la commande git tag suivie du nom de l'étiquette :

git tag v0.1

Cela crée une étiquette nommée v0.1 pointant vers la validation actuelle (HEAD).

Vous pouvez également créer une étiquette légère pour une validation passée en spécifiant le hachage (hash) de la validation :

git log --oneline
8197680 (HEAD -> master, tag: v0.1) Add area calculation function
d93ae1c Add PI constant
7411f09 Add greeting function
35d7df5 Initial commit

Cela vous montrera une liste de vos validations. Copiez le hachage de la validation "Add greeting function", qui est 7411f09 dans ce cas (utilisez le véritable hachage).

Appuyez sur q pour quitter la vue du journal, puis créez une étiquette pour cette validation :

git tag v0.0.1 <commit-hash>

Remplacez <commit-hash> par le véritable hachage que vous avez trouvé.

git tag
v0.0.1
v0.1

Les étiquettes légères sont idéales pour des marqueurs temporaires ou pour une utilisation personnelle. Cependant, elles ne stockent aucune information supplémentaire. Pour des étiquetages plus robustes, en particulier pour les versions publiques, vous voudrez peut-être utiliser des étiquettes annotées (Annotated Tags), que nous aborderons ensuite.

Création d'étiquettes annotées (Annotated Tags)

Les étiquettes annotées sont stockées comme des objets complets dans la base de données Git. Elles contiennent le nom de la personne qui a créé l'étiquette, son adresse e-mail, la date et un message d'étiquetage. Elles peuvent également être signées et vérifiées avec GNU Privacy Guard (GPG). Cela les rend idéales pour les versions publiques et toute étiquette pour laquelle vous souhaitez inclure des informations supplémentaires.

Pour créer une étiquette annotée, utilisez le drapeau -a avec la commande git tag :

git tag -a v1.0 -m "First major release"

Cela crée une étiquette annotée nommée v1.0 avec le message "First major release".

Vous pouvez voir les détails d'une étiquette annotée en utilisant la commande git show :

git show v1.0

Cela affichera les informations sur la personne qui a créé l'étiquette, la date à laquelle la validation a été étiquetée, le message d'annotation et les informations sur la validation.

Les étiquettes annotées sont recommandées pour les versions publiques car elles incluent beaucoup plus d'informations et peuvent être vérifiées. Elles sont une façon de dire "ce point dans l'historique est important et voici pourquoi".

Liste des étiquettes (Tags)

Au fur et à mesure que votre projet grandit, vous risquez d'accumuler un bon nombre d'étiquettes. Git propose des méthodes simples pour lister et rechercher parmi vos étiquettes.

Pour lister toutes les étiquettes de votre dépôt :

git tag

Cela affichera toutes vos étiquettes par ordre alphabétique.

Si vous souhaitez rechercher des étiquettes correspondant à un motif particulier, vous pouvez utiliser l'option -l (ou --list) avec un joker :

git tag -l "v1.*"

Cela listera toutes les étiquettes commençant par "v1.".

Pour obtenir des informations plus détaillées sur vos étiquettes, y compris les messages d'annotation pour les étiquettes annotées, vous pouvez utiliser :

git tag -n

Cela liste vos étiquettes ainsi que la première ligne de leur message d'annotation (ou le message de validation pour les étiquettes légères).

N'oubliez pas que les étiquettes ne sont pas automatiquement envoyées (pushed) aux dépôts distants. Si vous souhaitez partager vos étiquettes, vous devez les envoyer explicitement, ce que nous aborderons dans un prochain labo (LabEx).

Accès aux étiquettes (Tags)

L'une des fonctionnalités les plus utiles des étiquettes est la capacité de visualiser facilement votre projet à l'état d'une étiquette spécifique. Cela est très pratique pour reproduire des bugs à partir d'une version spécifique ou pour examiner le code exact qui a été inclus dans une version.

Pour accéder à une étiquette, vous pouvez utiliser la commande git checkout :

git checkout v1.0

Cela mettra votre dépôt dans un état de "HEAD détaché" (detached HEAD) à la validation vers laquelle v1.0 pointe. Cela signifie que vous pouvez explorer, apporter des modifications expérimentales et les valider, et rejeter toutes les validations que vous effectuez dans cet état sans affecter aucune branche.

Si vous souhaitez apporter des modifications et créer une nouvelle branche pour conserver ces modifications, vous pouvez utiliser :

git checkout -b branch-name v1.0

Cela crée une nouvelle branche nommée branch-name basée sur l'état de votre projet à l'étiquette v1.0.

N'oubliez pas que lorsque vous avez terminé de visualiser le code à une étiquette spécifique, vous pouvez revenir à l'état le plus récent de votre branche principale avec :

git checkout master

Soyez prudent lorsque vous êtes dans un état de "HEAD détaché". Toutes les validations que vous effectuez seront orphelines (non sur aucune branche) lorsque vous accéderez à une autre branche, à moins que vous n'ayez explicitement créé une nouvelle branche pour les conserver.

Suppression d'étiquettes (Tags)

Parfois, vous devrez peut-être supprimer une étiquette. Elle a peut-être été créée par erreur ou n'est plus pertinente. Git facilite la suppression des étiquettes.

Pour supprimer une étiquette de votre dépôt local, vous pouvez utiliser :

git tag -d v0.0.1

Cela supprime l'étiquette v0.0.1 de votre dépôt local.

Faites attention lors de la suppression d'étiquettes. D'autres utilisateurs peuvent utiliser ces étiquettes comme points de référence. Il est généralement recommandé de communiquer avec votre équipe avant de supprimer des étiquettes partagées.

Résumé

Félicitations, taggeur Git! Vous venez de maîtriser l'art de l'utilisation des étiquettes (tags) dans Git. Récapitulons les concepts clés que nous avons abordés :

  1. Création d'étiquettes légères (Lightweight Tags) : Étiquettes rapides et faciles à créer, destinées à un usage temporaire ou personnel.
  2. Création d'étiquettes annotées (Annotated Tags) : Étiquettes plus détaillées avec des métadonnées supplémentaires, idéales pour marquer des étapes importantes telles que les versions.
  3. Liste des étiquettes (Tags) : Comment visualiser et rechercher les étiquettes de votre dépôt.
  4. Accès aux étiquettes (Tags) : Comment visualiser votre projet à l'état d'une étiquette spécifique.
  5. Suppression d'étiquettes (Tags) : Comment supprimer les étiquettes lorsqu'elles ne sont plus nécessaires.

Les étiquettes sont une fonctionnalité puissante de Git qui vous permet de marquer les points importants de l'historique de votre projet. Elles sont particulièrement utiles pour marquer les points de version et d'autres étapes importantes.

N'oubliez pas :

  • Utilisez les étiquettes légères pour les points de référence temporaires ou personnels.
  • Utilisez les étiquettes annotées pour les versions publiques et lorsque vous souhaitez inclure des informations supplémentaires avec l'étiquette.
  • Soyez prudent lorsque vous êtes dans un état de "HEAD détaché" (detached HEAD) après avoir accédé à une étiquette.
  • Faites attention lors de la suppression d'étiquettes, surtout si elles ont été envoyées (pushed) à un dépôt partagé.

Au fur et à mesure de votre parcours avec Git, vous constaterez que les étiquettes sont un outil inestimable pour gérer la chronologie de votre projet. Elles fournissent des points de référence clairs qui peuvent vous aider et votre équipe à naviguer facilement dans l'historique de votre projet.

Bon tagguage, et que les étapes importantes de votre projet soient toujours clairement marquées!