J'essaie d'éviter certaines choses lorsque j'utilise Git.
-
Utilisation de la connaissance des internes, par exemple les refs/tags. J'essaie d'utiliser uniquement les commandes Git documentées et j'évite d'utiliser des choses qui nécessitent une connaissance du contenu interne du répertoire .git. (En d'autres termes, je traite Git comme un utilisateur de Git et non comme un développeur de Git).
-
L'utilisation de la force quand elle n'est pas nécessaire.
-
Faire trop de choses. (Pousser une branche et/ou beaucoup d'étiquettes, pour obtenir une étiquette où je veux).
Voici donc ma solution non violente pour modifier une balise, à la fois localement et à distance, sans connaissance des mécanismes internes de Git.
Je l'utilise lorsqu'une correction logicielle a finalement un problème et doit être mise à jour/publiée.
git tag -d fix123 # delete the old local tag
git push github :fix123 # delete the old remote tag (use for each affected remote)
git tag fix123 790a621265 # create a new local tag
git push github fix123 # push new tag to remote (use for each affected remote)
github
est un exemple de nom distant, fix123
est un exemple de nom de balise, et 790a621265
un exemple d'engagement.