Je travaille actuellement avec un référentiel qui a plusieurs branches.
Lorsque je crée une balise, cette balise fait-elle référence à la branche alors en cours?
En d'autres termes: chaque fois que je crée une balise, dois-je basculer vers la branche souhaitée et la balise à l'intérieur de cette branche pour que la balise fasse référence à cette branche à ce moment-là?
Les balises et la branche sont totalement indépendantes, car les balises font référence à un commit spécifique, et la branche est une référence mobile au dernier commit d'un historique. Les succursales disparaissent, les balises restent.
Donc, lorsque vous marquez un commit, git ne se soucie pas du commit ou de la branche qui est extrait, si vous lui fournissez le SHA1 de ce que vous voulez étiqueter.
Je peux même taguer en faisant référence à une branche (il marquera alors la pointe de la branche), et dire plus tard que la pointe de la branche est ailleurs (avec
git reset --hard
par exemple), ou supprimer la branche. La balise que j'ai créée ne bougera cependant pas.la source
Lors d'un appel
git tag <TAGNAME>
sans aucun paramètre supplémentaire, Git créera une nouvelle balise à partir de votre HEAD actuelle (c'est-à-dire la HEAD de votre branche actuelle). Lors de l'ajout de commits supplémentaires dans cette branche, la branche HEAD suivra ces nouveaux commits, tandis que la balise se réfère toujours au même commit.Lors de l'appel,
git tag <TAGNAME> <COMMIT>
vous pouvez même spécifier quel commit utiliser pour créer la balise.Quoi qu'il en soit, une balise est toujours simplement un "pointeur" vers un certain commit (pas une branche).
la source
Nous pouvons créer une balise pour un commit passé:
par exemple:
la source
Si vous souhaitez marquer la branche dans laquelle vous vous trouvez, saisissez:
et poussez la branche avec:
la source
Si vous souhaitez créer une balise à partir d'une branche qui ressemble à
release/yourbranch
etc., vous devez utiliser quelque chose commeAprès avoir créé la balise appropriée si vous souhaitez pousser la balise à distance, utilisez la commande
la source