Quelle est la différence entre tag et release?

176

En utilisant l'API de GitHub, je ne peux pas obtenir la liste des versions, mais je peux obtenir la liste des balises.

Quelle est la différence entre eux?

naor
la source

Réponses:

200

Quelle est la différence entre eux?

A tagest un pointeur vers un commit spécifique. Ce pointeur peut être super chargé de quelques informations supplémentaires (identité du créateur du tag, une description, une signature GPG, ...).

A tagest un concept git alors que a Releaseest un concept de niveau supérieur GitHub.

Comme indiqué dans l' annonce officielle du blog GitHub: "Les versions sont des objets de première classe avec des changelogs et des actifs binaires qui présentent un historique complet du projet au-delà des artefacts Git."

Un Releaseest créé à partir d'un existant taget expose des notes de publication et des liens pour télécharger le logiciel ou le code source à partir de GitHub.

En utilisant l'API de GitHub, je ne peux pas obtenir la liste des versions, mais je peux obtenir la liste des balises.

La version actuelle de l' API GitHub n'expose pas de moyen de gérer les Releases (créer, mettre à jour, ...). Je suis presque sûr que cela ne devrait pas prendre trop de temps avant d'être exposé.

Cependant, il est actuellement possible de répertorier les versions et les balises d'un référentiel spécifique.

Par exemple, l'url ci-dessous répertorie les 6 versions (à ce jour) de ReactiveUI

Alors que celui-ci listera les 54 tags (à ce jour) du même référentiel

La création d'une version est actuellement dans un processus qui implique une action manuelle (ajout des notes de version, téléchargement des packages, ...). Cela explique pourquoi tags ne sont pas considérés de manière transparente comme l' Releaseart.


Si vous souhaitez être informé des modifications de l'API, vous pouvez vous abonner au blog des modifications de l'API GitHub .

Cependant, si vous ne pouvez pas attendre, la page d'accueil de l'API GitHub indique "Si vous avez des problèmes ou des demandes, veuillez contacter le support. ". Cela peut être fait par e-mail à [email protected] ou par ce formulaire de contact .

Mettre à jour:

L'API GitHub permet désormais de manipuler les Releases. Voir l' annonce .

nulltoken
la source
Merci beaucoup pour votre réponse détaillée. Re: / releases - Je reçois 0 release pour les rails , ce qui est un peu bizarre, non?
naor
1
Je ne pense pas que ce soit bizarre. Cela signifie seulement que l'équipe Rails n'a pas utilisé l'interface utilisateur de GitHub pour créer un Releasefichier tag. Releases sont un ajout assez récent. Peut-être que l'équipe Rails préfère s'en tenir à son processus actuel et publier sur son blog chaque fois qu'une nouvelle version est publiée (voir l' annonce 3.2.14 ).
nulltoken
2
+1 pour la distinction claire entre une balise et une version et à quoi sert chacun: "A tagest un concept git alors que a Releaseest un concept de niveau supérieur GitHub ... A Releaseest créé à partir d'un existant taget expose des notes de publication et des liens pour télécharger le logiciel ou le code source de GitHub. "
Paul Masri-Stone
Il peut également valoir la peine de savoir qu'il existe désormais un outil de ligne de commande appelé hub qui suralimente les capacités de git. Parmi ces superpuissances, il y a la possibilité de pousser la libération dans le terminal.
Paul Razvan Berg