Créer une balise dans un référentiel GitHub

910

J'ai un référentiel dans GitHub et je dois le taguer .
J'ai tagué dans un shell, mais sur GitHub , il n'apparaît pas.

Dois-je faire autre chose?

La commande que j'ai utilisée dans le shell est:

git tag 2.0

Et maintenant, quand je tape, git tagcela montre:

2.0

Il semble donc que des balises soient présentes, n'est-ce pas?

Le référentiel est: https://github.com/keevitaja/myseo-pyrocms .

Comment faire apparaître cette balise sur GitHub? Où sont mes tags?

Tanel Tammik
la source

Réponses:

1498

Vous pouvez créer des balises pour GitHub en utilisant:

  • la ligne de commande Git, ou
  • Interface Web de GitHub.

Création de balises à partir de la ligne de commande

Pour créer une balise sur votre branche actuelle, exécutez ceci:

git tag <tagname>

Si vous souhaitez inclure une description avec votre balise, ajoutez -apour créer une balise annotée :

git tag <tagname> -a

Cela va créer une localbalise avec l'état actuel de la branche sur laquelle vous vous trouvez. Lorsque vous accédez à votre référentiel distant, les balises ne sont PAS incluses par défaut. Vous devrez explicitement dire que vous souhaitez envoyer vos balises à votre référentiel distant:

git push origin --tags

De la documentation officielle de Linux Kernel Git pourgit push :

--tags

Toutes les références sous les références / balises sont poussées, en plus des spécifications spécifiques explicitement répertoriées sur la ligne de commande.

Ou si vous voulez simplement pousser une seule balise:

git push origin <tag>

Voir également ma réponse à Comment envoyer un tag à un référentiel distant à l'aide de Git?pour plus de détails sur cette syntaxe ci-dessus.

Création de balises via l'interface Web de GitHub

Vous pouvez trouver les instructions de GitHub à ce sujet sur leur page d'aide Création de versions . En voici un résumé:

  1. Cliquez sur le lien des versions sur notre page de référentiel,

    Capture d'écran 1

  2. Cliquez sur Créer une nouvelle version ou rédiger une nouvelle version ,

    Capture d'écran 2

  3. Remplissez les champs du formulaire, puis cliquez sur Publier la version en bas,

    Capture d'écran 3 Capture d'écran 4

  4. Après avoir créé votre balise sur GitHub, vous voudrez peut-être aussi la récupérer dans votre référentiel local:

    git fetch
    

La prochaine fois, vous souhaiterez peut-être créer une autre balise dans la même version à partir du site Web. Pour cela, suivez ces étapes:

Accédez à l'onglet Release

  1. Cliquez sur le bouton Modifier pour la version

  2. Indiquez le nom de la nouvelle balise ABC_DEF_V_5_3_T_2 et cliquez sur l'onglet

  3. Après avoir cliqué sur l'onglet, l'interface utilisateur affichera ce message: Excellent! Cette balise sera créée à partir de la cible lorsque vous publierez cette version. L'interface utilisateur fournira également une option pour sélectionner la branche / validation

  4. Sélectionnez une branche ou validez

  5. Cochez la case "Ceci est une pré-version" pour la balise qa et décochez-la si la balise est créée pour la balise Prod.

  6. Après cela, cliquez sur "Mettre à jour la version"

  7. Cela créera une nouvelle balise dans la version existante.

milso
la source
8
@RandomDSdevel dans github, la libération n'est qu'une balise. Vous pouvez créer une balise à partir de la ligne de commande et la pousser vers github remote. tag apparaîtra comme une version sur la page Web de githubs.
Iuri G.
6
@IuriG .: Eh bien, oui, mais ne devriez-vous pas pouvoir créer des balises qui ne sont pas automatiquement récupérées par GitHub en tant que versions…? (Quand je créé à l' origine le commentaire auquel vous avez répondu et dont la réponse de la vôtre ce celui- ci est une réponse, les balises au moins utilisé pour se transformer en desserre automatiquement, même si je ne sais pas si cela est encore le cas ou non & thinsp; en suivant le workflow expliqué dans votre réponse, les indices indiquent que cela n'est plus vrai. J'ai soumis une demande de support à GitHub à ce sujet il y a un certain temps, mais ils avaient un peu de backlog de support à l'époque, donc ma demande a été fermée.)
RandomDSdevel
Fwiw, pour le chemin de l'interface Web Github, je ne vois pas de bouton Créer ou Brouiller une nouvelle version après avoir cliqué sur le lien
Versions
2
via l'interface Github, vous ne pouvez créer que des balises légères.
Anatolii Stepaniuk
2
Malheureusement, l'interface github ne vous permet pas de marquer un commit à moins que ce ne soit au cours des dernières 24 heures ou des 10 dernières (? Ou plus?) Commits.
tsalaroth
86

Création de balises

Git utilise deux principaux types de balises: léger et annoté .

Tags annotés :

Pour créer une balise annotée dans Git, vous pouvez simplement exécuter les commandes simples suivantes sur votre terminal.

$ git tag -a v2.1.0 -m "xyz feature is released in this tag."
$ git tag
v1.0.0
v2.0.0
v2.1.0

Le -m indique un message pour cette balise particulière. Nous pouvons écrire un résumé des fonctionnalités qui va baliser ici.

Étiquettes légères :

L'autre façon de baliser les validations est la balise légère. Nous pouvons le faire de la manière suivante:

$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0

Push Tag

Pour pousser une balise particulière, vous pouvez utiliser la commande ci-dessous:

git push origin v1.0.3

Ou si vous voulez pousser toutes les balises, utilisez la commande ci-dessous:

git push --tags

Liste de toutes les balises :

Pour répertorier toutes les balises, utilisez la commande suivante.

git tag
Lawakush Kurmi
la source
Ajoutez-vous le tag AVANT ou après le git commit?
garfbradaz
J'ai ajouté une balise après git commit.
Lawakush Kurmi
65

Il vous suffit de pousser la balise après avoir exécuté la git tag 2.0commande.

Alors faites-le git push --tagsmaintenant.

kjdion84
la source
40
Je préfère suggérer d'utiliser à la git push v2.0place de --tags, il pourrait y avoir d'autres balises qui ne devraient pas être poussées.
tschoppi
1
Ce n'est un problème que si vos balises locales diffèrent de vos balises distantes. Ils sont faciles à synchroniser si cela devient un problème.
kjdion84
1
@ kjdion84 Non, c'est aussi un problème s'il y a des balises obsolètes: toutes les balises sont toujours récupérées et lorsque quelqu'un utilise --tags, il est difficile de s'en débarrasser.
maaartinus
2
ougit push origin v2.0
priagupd
J'ai fait l'erreur d'utiliser des tags!
User3
9

ATTENTION: dans le commandement de Lawakush Kurmi ( git tag -a v1.0), le -adrapeau est utilisé. Ce drapeau indique à Git de créer un drapeau annoté. Si vous ne fournissez pas le flag ( i.e. git tag v1.0), cela créera ce qu'on appelle une balise légère.


Les balises annotées sont recommandées, car elles contiennent de nombreuses informations supplémentaires telles que:

  • la personne qui a fait le tag
  • la date de création de la balise
  • un message pour le tag

Pour cette raison, vous devez toujours utiliser des balises annotées.

Sylvernus Akubo
la source
3

Tout dépend du type de balise que vous souhaitez créer:

  • Si vous souhaitez créer des balises annotées, pour afficher des métadonnées supplémentaires, vous pouvez le faire de la manière suivante: git tag -a v1.0.0 .
  • D'autre part, les étiquettes légers sont utilisés pour « signet » votre commits pour un usage privé: git tag v1.0.0.

Il existe quelques autres fonctionnalités de balises telles que:

  • Liste des balises - git tag -l -n3. La commande répertorie toutes les balises existantes avec un maximum de 3 lignes de leur message de balise. Par défaut, -n n'affiche que la première ligne.
  • Détails de la balise - git show <tag_identifier> . Il montre tout ce que vous devez savoir sur une balise spécifique.
  • Balises de tri - git tag --sort=<type>
  • Publication de balises - git push origin v1.0. Vous pouvez git pousser la balise individuellement, ou vous pouvez exécuter git push --tags qui poussera toutes les balises à la fois.

Assurez-vous de vérifier cet article associé à la balise pour plus d'informations pertinentes.

Nesha Zoric
la source
3

Utiliser Sourcetree

Voici les étapes simples pour créer une GitHub Tag , lorsque vous relâchez la construction du maître.

  1. Ouvrir l'onglet source_tree

    étape 1

  2. Cliquez avec le bouton droit sur les sections de balises de Tag qui apparaissent dans la section de navigation de gauche

    étape 2

  3. Cliquez sur New Tag ()

  4. Une boîte de dialogue apparaît pour ajouter une balise et supprimer une balise
  5. Cliquez sur Ajouter une balise de donner un nom à la balise (nom de version préféré du code)

    étape 3

  6. Si vous voulez pousser le TAG sur la télécommande, lors de la création de la référence TAG: étape 5 qui donne la case à cocher pousser le TAG à l'origine le vérifier et la balise poussée apparaît sur le référentiel distant

  7. Dans le cas où lors de la création du TAG si vous avez oublié de cocher la case Push to origin , vous pouvez le faire plus tard en cliquant avec le bouton droit sur le TAG créé, cliquez sur Push to origin. entrez la description de l'image ici

Suresh Maidaragi
la source
2
Cette réponse explique comment créer une balise locale à l'aide de Sourcetree, mais la question porte sur la façon de pousser la balise vers le référentiel distant (GitHub dans ce cas). Vous dites de le faire à l'étape 6, mais vous en avez omis les instructions.
Rory O'Kane
@ RoryO'Kane, veuillez le vérifier maintenant J'ai mis à jour ma réponse, merci de l'avoir signalé
Suresh Maidaragi