Qual è la differenza tra tag e release?


176

Utilizzando l'API di GitHub, non riesco a ottenere l'elenco delle versioni, ma posso ottenere l'elenco dei tag.

Qual è la differenza tra loro?

Risposte:


200

Qual è la differenza tra loro?

A tagè un puntatore a un commit specifico. Questo puntatore può essere caricato con alcune informazioni aggiuntive (identità del creatore del tag, una descrizione, una firma GPG, ...).

A tagè un concetto git mentre a Releaseè GitHub concetto di livello superiore.

Come affermato nel post ufficiale sul blog di GitHub: "I rilasci sono oggetti di prima classe con log delle modifiche e risorse binarie che presentano una storia completa del progetto al di là dei manufatti Git".

A Releaseviene creato da un esistente taged espone note di rilascio e collegamenti per scaricare il software o il codice sorgente da GitHub.

Utilizzando l'API di GitHub, non riesco a ottenere l'elenco delle versioni, ma posso ottenere l'elenco dei tag.

La versione corrente dell'API GitHub non espone un modo per gestire Releases (creare, aggiornare, ...). Sono abbastanza sicuro che questo non dovrebbe richiedere troppo tempo prima che venga esposto.

Tuttavia, al momento è possibile elencare le versioni e i tag di un repository specifico.

Ad esempio, l'URL di seguito elencherà le 6 versioni (a partire da oggi) da ReactiveUI

Considerando che questo elencherà i 54 tag (a partire da oggi) dallo stesso repository

La creazione di una versione è attualmente in corso un processo che comporta un'azione manuale (aggiunta delle note sulla versione, caricamento dei pacchetti, ...). Questo spiega perché gli tags non sono visti in modo trasparente come Releases.


Se vuoi essere informato delle modifiche alle API, puoi iscriverti al blog sulle modifiche alle API di GitHub .

Tuttavia, se non puoi aspettare, la home page dell'API GitHub indica "Se hai problemi o richieste, contatta l'assistenza. ". Questo può essere fatto tramite un'e-mail a support@github.com o questo modulo di contatto .

Aggiornare:

L'API GitHub ora consente di manipolare Releases. Vedi l' annuncio .


Grazie mille per la risposta dettagliata. Ri: / uscite - Ottengo 0 versioni per rotaie , che è un po 'strano, no?
Naor

1
Non penso sia strano. Ciò significa solo che il team di Rails non ha utilizzato l'interfaccia utente di GitHub per creare un Releaseda un esistente tag. Releasesono un'aggiunta abbastanza recente. Forse il team di Rails preferisce attenersi al processo corrente e pubblicare sul proprio blog ogni volta che viene rilasciata una nuova versione (vedere l'annuncio 3.2.14 ).
nulltoken,

2
+1 per la chiara distinzione tra un tag e una versione e ciò a cui ciascuno serve: "A tagè un concetto git mentre a Releaseè GitHub concetto di livello superiore ... A Releaseè creato da un esistente taged espone note di rilascio e collegamenti per scaricare il software o codice sorgente da GitHub. "
Paul Masri-Stone,

Potrebbe anche valere la pena sapere che ora esiste uno strumento da riga di comando chiamato hub che carica le funzionalità di Git. Tra questi superpoteri, c'è la possibilità di spingere il rilascio nel terminale.
Paul Razvan Berg,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.