Respostas:
Qual a diferença entre eles?
A tag
é um ponteiro para um commit específico. Esse ponteiro pode ser super carregado com algumas informações adicionais (identidade do criador da tag, uma descrição, uma assinatura GPG, ...).
A tag
é um conceito de git, enquanto a Release
é um conceito de nível superior do GitHub.
Conforme declarado na publicação oficial do blog do GitHub: "As liberações são objetos de primeira classe com changelogs e ativos binários que apresentam um histórico completo do projeto além dos artefatos do Git".
A Release
é criado a partir de um existente tag
e expõe notas de versão e links para baixar o software ou o código fonte do GitHub.
Usando a API do GitHub, não consigo obter a lista de lançamentos, mas consigo a lista de tags.
A versão atual da API do GitHub não expõe uma maneira de gerenciar Release
s (criar, atualizar, ...). Tenho certeza de que isso não deve demorar muito para ser exposto.
No entanto, atualmente é possível listar os releases e tags de um repositório específico.
Por exemplo, o URL abaixo listará os 6 lançamentos (a partir de hoje) do ReactiveUI
Considerando que este listará as 54 tags (a partir de hoje) do mesmo repositório
A criação de um release está atualmente em um processo que envolve uma ação manual (adicionando as notas de lançamento, fazendo upload dos pacotes, ...). Isso explica por que tag
s não são vistos de forma transparente como Release
s.
Se você deseja ser notificado sobre as alterações da API, inscreva-se no blog GitHub API Changes .
No entanto, se você não puder esperar, a home page da API do GitHub indica "Se você tiver algum problema ou solicitação, entre em contato com o suporte ". Isso pode ser feito através de um email para support@github.com ou deste formulário de contato .
A API do GitHub agora permite manipular Release
s. Veja o anúncio .
Release
partir de uma existente tag
. Release
s são uma adição bastante recente. Talvez a equipe do Rails prefira seguir seu processo atual e publicar em seu blog sempre que uma nova versão for lançada (veja o anúncio 3.2.14 ).
tag
é um conceito de git, enquanto a Release
é um conceito de nível superior do GitHub ... A Release
é criado a partir de um existente tag
e expõe notas de versão e links para baixar o software ou código-fonte do GitHub ".