Bonjour,
La création d'un tag avec git est elle relative à la branche sur laquelle on est ? ou est-ce que ce tag est indépendant des branches ?
merci!
Version imprimable
Bonjour,
La création d'un tag avec git est elle relative à la branche sur laquelle on est ? ou est-ce que ce tag est indépendant des branches ?
merci!
Bonjour,
Un tag est associé à une révision (donc un commit) et n'en bouge plus si on ne lui dit pas de le faire. C'est d'ailleurs à ça qu'il sert : à retrouver une version particulière de l'état du développement indépendamment de l'évolution des branches, par exemple pour retrouver un numéro de version particulière stable, la version exacte publiée en production quelque part, etc. Ça veut aussi dire que l'on ne peut pas mettre deux fois le même tag simultanément dans un même dépôt à deux endroits différents (comme on le ferait pour qualifier des photos ou des articles sur un forum, par exemple).
Par contre, pour pouvoir être placé, il faut bien indiquer à quelle révision on souhaite associer ce tag. Et en l'absence d'indication à ce sujet, il sera placé sur la révision courante, c'est-à-dire « là où on se trouve », soit encore l'état de HEAD. Et la plupart du temps, quand on n'est pas volontairement en état détaché (en train de faire un checkout sur une révision particulière), HEAD pointe généralement le sommet de la branche courante.
En résumé : ce sont deux choses distinctes dans le principe mais par défaut, dans les faits et si l'on ne s'est pas volontairement déplacé auparavant, git tag <nom> sans infos supplémentaires aura pour effet de taguer le sommet de la branche courante, pour la simple raison que c'est là où on se trouve.
Le tag est indépendant des branches, c'est simplement un alias textuel pour un commit donné. Il s'agit simplement de donner un nom intelligible à un sha1. 482dfc4e7666903140f8941608a3a45c2bb4796a c'est moins lisible que v1.2.8 !