В чем разница между тегом и выпуском?

176

Используя API GitHub, я не могу получить список выпусков, но я могу получить список тегов.

Какая разница между ними?

Наор
источник

Ответы:

200

Какая разница между ними?

A tag- указатель на конкретный коммит. Этот указатель может быть перегружен некоторой дополнительной информацией (личность создателя тега, описание, подпись GPG, ...).

A tag- это концепция git, а a - это концепция более Releaseвысокого уровня GitHub.

Как говорится в официальном сообщении из блога GitHub: «Релизы - это первоклассные объекты с журналами изменений и бинарными ресурсами, которые представляют полную историю проекта за пределами артефактов Git».

A Releaseсоздается из существующего tagи предоставляет примечания к выпуску и ссылки для загрузки программного обеспечения или исходного кода с GitHub.

Используя API GitHub, я не могу получить список выпусков, но я могу получить список тегов.

Текущая версия GitHub API не предоставляет способ управления Releases (создание, обновление, ...). Я почти уверен, что это не займет слишком много времени, прежде чем обнажится.

Однако в настоящее время можно перечислить выпуски и теги определенного репозитория.

Например, в приведенном ниже URL-адресе будут перечислены 6 выпусков (на сегодняшний день) из ReactiveUI

Принимая во внимание, что этот список перечислит 54 тега (на сегодняшний день) из того же хранилища

Создание версии в настоящее время находится в процессе, который включает в себя ручное действие (добавление примечаний к выпуску, загрузка пакетов, ...). Это объясняет, почему tags не видны как Releases.


Если вы хотите получать уведомления об изменениях API, вы можете подписаться на блог GitHub API Changes .

Однако, если вы не можете ждать, на домашней странице GitHub API указывается «Если у вас есть какие-либо проблемы или просьбы, обратитесь в службу поддержки ». Это можно сделать по электронной почте support@github.com или через эту контактную форму .

Обновить:

GitHub API теперь позволяет манипулировать Releases. Смотрите объявление .

nulltoken
источник
Большое спасибо за ваш подробный ответ. Re: / Releases - я получаю 0 релизов для рельсов , что немного странно, нет?
Наор
1
Я не думаю, что это странно. Это только означает, что команда Rails не использовала интерфейс GitHub для создания объекта Releaseиз существующего tag. ReleaseЭто довольно недавнее дополнение. Может быть, команда Rails предпочитает придерживаться своего текущего процесса и публиковать в своем блоге всякий раз, когда выходит новая версия (см. Объявление 3.2.14 ).
nulltoken
2
+1 за четкое различие между меткой и отпуском и что каждый для: «А tagэто мерзавец понятие , тогда как Releaseэто GitHub понятия более высокого уровня ... А Releaseсоздаются из существующих tagи выставляют примечания к выпуску и ссылки для загрузки программного обеспечения или исходный код от GitHub. "
Пол Масри-Стоун
Также стоит знать, что теперь есть инструмент командной строки под названием hub, который расширяет возможности git. Среди этих сверхдержав есть возможность толкать релиз в терминале.
Пол Разван Берг