Déplacer une balise existante dans Git
Dans cet article, nous aborderons le déplacement des balises dans Git. Nous sommes découragés de déplacer des balises, surtout si nous travaillons en équipe, car cela peut gâcher la chronologie de notre projet.
Néanmoins, Git nous permet de déplacer les balises lorsque nous en avons besoin. Prenons un exemple pratique.
Déplacer une balise existante dans Git
Pour simuler un scénario où nous voulons déplacer une balise vers le commit récent, nous allons créer une balise V1
, effectuer des commits et tenter de déplacer la balise vers les commits récents. Commençons.
Il s’agit de l’historique de validation de notre référentiel local.
$ git log --oneline
Nous allons utiliser la commande git tag
pour placer la balise V1
sur le commit Sixth Update
.
$ git tag V1
La balise est maintenant à Sixth Update
, comme le montre la sortie git log
. Modifions les fichiers dans notre référentiel et validons les modifications.
Voici l’historique des commits de notre nouveau référentiel.
$ git log --oneline
Nous obtenons cette erreur si nous essayons d’exécuter la commande git tag
.
$ git tag V1
fatal: tag 'V1' already exists
Nous pourrions toujours créer une autre balise, mais supposons que nous ayons créé la balise V1
et réalisé qu’il y avait des modifications que nous avons laissées de côté. Après avoir validé les modifications laissées de côté, comment déplacer la balise ?
Comme plusieurs autres commandes dans Git, nous pouvons nous frayer un chemin. Nous devrons utiliser la commande git tag
avec l’option --force
, comme indiqué ci-dessous.
$ git tag --force V1
Vérifions notre historique de validation.
$ git log --oneline
Nous pourrions procéder à la publication dans le référentiel distant si nous avions déjà poussé. Cependant, nous devrons ajouter l’option --force
pour forcer la télécommande à se mettre à jour.
$ git push origin V1 --force
C’est tout ce que vous avez à faire pour déplacer des balises dans Git. Mais avant de nous déconnecter, voyons comment nous pouvons tirer après qu’un autre développeur a mis à jour les balises dans le référentiel distant.
La première étape consiste à supprimer la balise dans notre référentiel local. Nous exécutons la commande ci-dessous.
$ git tag -d V1
Nous pouvons maintenant exécuter la commande git pull
pour mettre à jour notre référentiel local.
$ git pull
Cela devrait mettre à jour les balises dans votre référentiel local.
Nous pouvons déplacer les balises dans Git en introduisant l’option --force
dans la commande git tag
. Soyez prudent lorsque vous créez et déplacez des balises lorsque vous travaillez sur des projets communs.
Vous pouvez gâcher la chronologie de votre projet.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn