web-dev-qa-db-fra.com

Git - Extrait une balise distante lorsque deux télécommandes ont le même nom de balise

J'avais espéré que cela fonctionnerait:

git checkout remote/tag_name

mais ce n'est pas le cas. Cela fait:

git checkout tags/tag_name

mais je fais quelque chose de bizarre où j'ai beaucoup de télécommandes, et je suis inquiet de ce qui se passe si deux télécommandes ont la même étiquette. Existe-t-il un moyen de spécifier la télécommande lors de l'extraction de la balise?

44
Narfanator

1 - Récupérez le tag de la télécommande avec: 

git fetch Origin --tags 

Ou, pour extraire une balise d'une autre utilisation à distance:

git fetch your_remote --tags

2 Découvrez le tag en exécutant 

git checkout tags/<tag_name>

Plus ici: Téléchargez un tag spécifique avec Git

81
Russell Fair

Dans mon cas, lorsqu'une nouvelle balise a été ajoutée au référentiel distant [j'utilise Stash], la nouvelle balise n'était pas disponible dans le résultat de git tag -l.
Mais j'ai pu voir la balise nouvellement ajoutée en utilisant git ls-remote --tags.
Je devais exécuter la commande suivante pour obtenir toutes les balises les plus récentes dans mon référentiel local:
git pull --tags Le git tag -l en cours d’exécution affiche désormais également les balises récemment ajoutées.

Afin de valider une balise, utilisez:
git checkout <tag_name>

Remarque: Il est normal d’exécuter le statut git et de rechercher un message comme celui-ci:
HEAD detached at tag_name

9
hipsandy

Il y a quelques questions dans mon esprit:

  • Pourquoi différentes télécommandes devraient-elles avoir un code différent (dans le même arbre)?
  • Pourquoi le code à distance vous affecte-t-il lors de l'extraction des balises?

La chose est la suivante:

Lorsque vous extrayez une balise à l'aide de git checkout tags/fancytag, elle recherchera la balise correspondante dans votre référentiel actuel (sur votre ordinateur).

Si vous souhaitez extraire une balise d'une télécommande spécifique, vous devez d'abord la remplacer par fetch (l'arborescence de la télécommande spécifique), puis l'extraire.

0
Langusten Gustel