Git

Comment utiliser les balises Git pour améliorer vos processus de développement

Comment utiliser les balises Git pour améliorer vos processus de développement
Pour la plupart des équipes de développement, Git est devenu un outil essentiel pour le contrôle de version. Une grande raison de la popularité de Git est sa capacité transparente à créer des branches. Les équipes de développement peuvent utiliser des branches pour travailler sur des fonctionnalités ou des versions spécifiques. Cependant, la balise de Git est une commande souvent négligée qui peut aider les équipes à simplifier leurs flux de travail. Dans cet article, nous allons plonger dans le quoi, le comment et le pourquoi du balisage Git.

Que sont les balises Git?

Les balises Git sont des pointeurs vers certains commits. Ils sont comme des signets. Vous pouvez utiliser n'importe quel type de convention pour créer des balises. Mais la plupart des équipes de développement utilisent des numéros de version comme v1.0.1 ou v.1.1-a1 pour créer des balises.

Création de balises

Il existe deux types de balises dans Git :

Étiquettes légères

Les balises légères sont faciles à créer. Vous pouvez simplement utiliser la ligne de commande suivante :

balise $git

Ces balises sont stockées dans le .dossier git de votre référentiel de travail.

Créons quelques balises Git légères :

$git balise v1.0.1
Balise $git Release-20190401

Dans le premier cas, nous avons créé une balise avec « v1.0.1". Dans le second cas, nous avons créé un tag avec « Release-20190401 ». Les balises légères ne renvoient aucune valeur. De plus, il est important de souligner que parce que ces deux balises ont été faites dos à dos, elles pointent vers le même commit.

Balises annotées

Les balises annotées vous permettent de stocker plus d'informations. Vous pouvez utiliser l'option "-a" pour créer ces balises :

$git balise -a

Essayons de créer une balise annotée :

balise git -a v1.0.2

Une fenêtre de texte s'ouvrira pour vous permettre de saisir un commentaire qui devrait ressembler à ceci :

#
# Écrivez un message pour la balise :
#   v1.0.2
# Les lignes commençant par '#' seront ignorées.

Entrez un commentaire et enregistrez-le. Alors, maintenant votre tag v1.0.2 est enregistré avec un commentaire. Alternativement, vous pouvez entrer directement le commentaire dans la ligne de commande comme ceci :

balise git -a v1.0.3 -m "Ma version 1.0.3"

Trouver des balises dans votre code

Maintenant que nous avons créé quelques balises, voyons ce que nous avons :

$git balise -l
Version-20190401
v1.0.1
v1.0.2
v1.0.3

Nous pouvons voir que toutes nos balises sont affichées par ordre alphabétique. Vous pouvez obtenir plus d'informations sur les balises en utilisant le "-n" où représente le nombre de lignes des commentaires.

$git balise -n1
Version-20190401 mis à jour README.Maryland
v1.0.1          LISEZMOI mis à jour.Maryland
v1.0.2          Ma version 1.0.2
v1.0.3          Ma version 1.0.3

Ici, vous pouvez remarquer une différence entre les balises légères et annotées. Dans cet exemple, « Release-20190401 » et « v1.0.1" sont des étiquettes légères. Le "v1.0.2" et "v1.0.3" sont des balises annotées. Tous pointent vers le même commit (commit 34671) :

journal $git
commit 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (HEAD -> master, tag: v1.0.4)
Auteur : Zak H
Date :   Sam 6 avr. 21:06:02 2019 -0700
 
Fonctionnalité ajoutée 2
 
commettre 161c6e564e79624623ed767397a98105426d0ec4
Auteur : Zak H
Date :   Sam 6 avr. 21:05:25 2019 -0700
 
Fonctionnalité ajoutée 1
 
commit 34671d824f9b9951e57f867998cb3c02a11c4805 (étiquette : v1.0.3, étiquette : v1.0.2,
étiquette : v1.0.1, étiquette : version-20190401)
Auteur : Zak H
Date :   Sam 6 avr. 20:24:53 2019 -0700
 
README mis à jour.Maryland
 
commit afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (origine/maître)
Auteur : Zak H
Date :   Sam 6 avr. 20:23:55 2019 -0700
 
Init

Cependant, les balises légères affichent les commentaires du commit lui-même qui est « README mis à jour.md", tandis que les balises annotées affichent les commentaires individuels qui leur ont été ajoutés au cours du processus de création de balises.

Conseil: Si vous voulez trouver le numéro de commit d'une balise particulière, vous pouvez utiliser la commande « git show » :

$git afficher v1.0.3
balise v1.0.3
Marqueur : Zak H
Date :   Sam 6 avr. 20:43:30 2019 -0700
 
Ma version 1.0.3
 
commit 34671d824f9b9951e57f867998cb3c02a11c4805 (étiquette : v1.0.3, étiquette : v1.0.2, balise :
v1.0.1, étiquette : version-20190401)
Auteur : Zak H
Date :   Sam 6 avr. 20:24:53 2019 -0700
 
README mis à jour.Maryland
 
diff --git a/README.md b/LISEZ-MOI.Maryland
indice 9daeafb… 180cf83 100644
--- a/LISEZ-MOI.Maryland
+++ b/LISEZ-MOI.Maryland
@@ -1 +1 @@
-test
+test2

Balisage des commits plus anciens

Vous pouvez également revenir en arrière et marquer un commit plus ancien. Regardons les logs :

$git log --oneline
106e0bb (TÊTE -> maître, balise : v1.0.4) Ajout de la fonctionnalité 2
161c6e5 Fonctionnalité ajoutée 1
34671d8 (étiquette : v1.0.3, étiquette : v1.0.2, étiquette : v1.0.1, étiquette : version 20190401) Mise à jour du fichier README.Maryland
afe9b0c (origine/maître) Init
$

On remarque que le commit 161c6e5 n'a pas de balise associée. Nous pouvons marquer ce commit comme ceci :

$git tag -a Release-2020190402 161c6e5

Il fera apparaître la fenêtre de commentaire. Après avoir mis le commentaire, nous pouvons voir que nous avons maintenant le commit étiqueté :

$git balise -n1
Version-20190401 mis à jour README.Maryland
Release-20190402 Ajout d'une balise à un ancien commit
v1.0.1          LISEZMOI mis à jour.Maryland
v1.0.2          Ma version 1.0.2
v1.0.3          Ma version 1.0.3
v1.0.4          Fonctionnalité ajoutée 2

Supprimer les balises

Supposons que vous décidiez que vous ne voulez pas les balises « Release - » car elles prêtent à confusion. Vous pouvez d'abord trouver toutes les balises « Release- » :

$git tag -l Release*
Version-20190401
Sortie-20190402

Maintenant, vous pouvez les supprimer avec l'option "-d":

$git tag -d Release-20190401
Balise supprimée 'Release-20190401' (anciennement 34671d8)
$git tag -d Release-20190402
Balise supprimée 'Release-20190402' (était 6ee37bc)

Si nous vérifions à nouveau les balises, nous ne devrions voir que les balises commençant par « v » :

$git balise -n1
v1.0.1          LISEZMOI mis à jour.Maryland
v1.0.2          Ma version 1.0.2
v1.0.3          Ma version 1.0.3
v1.0.4          Fonctionnalité ajoutée 2

Écraser les balises

Supposons que nous ayons une situation où « v1.0.L'étiquette de 4" pointe vers la fonctionnalité 2 :

$git log --oneline
d7b18a4 (HEAD -> master) Ajout de la fonctionnalité 3
106e0bb (étiquette : v1.0.4) Ajout de la fonctionnalité 2
161c6e5 Fonctionnalité ajoutée 1
34671d8 (étiquette : v1.0.3, étiquette : v1.0.2, étiquette : v1.0.1) README mis à jour.Maryland
afe9b0c (origine/maître) Init

Mais nous voulons la balise "v1.0.4" pour pointer vers la caractéristique 3. Si nous essayons de le retaper, nous obtenons cette erreur :

$git balise v1.0.4 d7b18a4
fatal : balise 'v1.0.4' existe déjà

Nous pouvons surmonter ce problème avec l'option "-f":

$git balise -f v1.0.4 d7b18a4
Balise mise à jour 'v1.0.4' (était 106e0bb)

Si nous vérifions à nouveau le journal, nous voyons que la balise s'est déplacée vers le commit que nous voulons :

$git log --oneline
d7b18a4 (TÊTE -> maître, balise : v1.0.4) Ajout de la fonctionnalité 3
106e0bb Ajout de la fonctionnalité 2
161c6e5 Fonctionnalité ajoutée 1
34671d8 (étiquette : v1.0.3, étiquette : v1.0.2, étiquette : v1.0.1) README mis à jour.Maryland
afe9b0c (origine/maître) Init

Alternativement, vous pouvez également supprimer une balise et la rajouter à un nouveau commit.

Partage de balises avec d'autres utilisateurs

Lorsque vous transférez votre code vers votre référentiel distant, les balises Git ne sont pas automatiquement transmises. Si vous souhaitez partager vos tags avec d'autres utilisateurs, vous devez exclusivement les pousser.

Les balises peuvent être poussées comme ceci :

$git push origin v1.0.4
Compter les objets : 12, terminé.
Compression delta utilisant jusqu'à 4 threads.
Compression d'objets : 100 % (4/4), terminé.
Objets d'écriture : 100 % (12/12), 902 octets | 150.00 Kio/s, terminé.
Total 12 (delta 0), réutilisé 0 (delta 0)
À /Users/zakh/_work/LearnGIT/git_tagging/remote/project_mayhem
* [nouvelle balise]         v1.0.4 -> v1.0.4

Désormais, si d'autres utilisateurs clonent le référentiel distant, ils ne verront que la balise qui a été poussée ("v1.0.4" dans ce cas).

Utiliser des branches plutôt que des balises

Les branches sont utiles pour de nouvelles fonctionnalités ou pour expérimenter. En règle générale, vous souhaitez créer une branche lorsqu'il y a un travail futur à faire et que le travail perturbe votre développement actuel. D'un autre côté, les balises sont plus utiles en tant qu'instantanés. Vous devriez les utiliser pour vous souvenir de choses particulières que vous avez déjà faites.

En conclusion

La balise Git est une fonctionnalité sous-utilisée qui peut fournir un excellent moyen de suivre les versions et les fonctionnalités spéciales. Si vous mettez en place de bonnes pratiques autour des balises, cela peut vous aider à communiquer facilement avec votre équipe de développement et à simplifier vos processus de développement.

Une étude plus approfondie:

  • https://git-scm.com/book/en/v2/Git-Basics-Tagging
  • https://ingénierie logicielle.échange de pile.com/questions/165725/git-branching-and-tagging-best-practices
  • https://www.atlassien.com/git/tutorials/inspecting-a-repository/git-tag
  • https://fr.Wikipédia.org/wiki/Software_versioning
  • https://www.technopédie.com/definition/25977/software-versioning
Le curseur saute ou se déplace de manière aléatoire lors de la saisie dans Windows 10
Si vous constatez que le curseur de votre souris saute ou se déplace tout seul, automatiquement, au hasard lors de la saisie sur un ordinateur portabl...
Comment inverser le sens de défilement de la souris et des pavés tactiles dans Windows 10
Souris et Pavé tactiles rendent non seulement l'informatique facile, mais plus efficace et moins chronophage. Nous ne pouvons pas imaginer une vie san...
Comment changer la taille, la couleur et le schéma du pointeur et du curseur de la souris sous Windows 10
Le pointeur et le curseur de la souris dans Windows 10 sont des aspects très importants du système d'exploitation. Cela peut également être dit pour d...