标签和发布之间有什么区别?


176

使用GitHub的API,我无法获取发布列表,但可以获取标签列表。

它们之间有什么区别?

Answers:


200

它们之间有什么区别?

A tag是指向特定提交的指针。该指针可以附加一些附加信息(标签创建者的身份,描述,GPG签名等)。

A tag是git概念,而a Release是GitHub高级概念。

如GitHub博客上的官方公告中所述:“发布是具有更改日志和二进制资产的一流对象,它们提供了除Git工件之外的完整项目历史。”

A Release是从现有文件创建的,tag并提供发行说明和链接以从GitHub下载软件或源代码。

使用GitHub的API,我无法获取发布列表,但可以获取标签列表。

当前版本的GitHub API并未提供管理Releases的方法(创建,更新等)。我很确定这应该花很长时间才暴露出来。

但是,当前可以列出特定存储库的发行版和标签。

例如,下面的网址将列出ReactiveUI6个发行版(截至今天)

而此文件将列出同一存储库中的54个标签(截至今天)

当前正在创建过程,该过程涉及手动操作(添加发行说明,上传软件包等)。这解释了为什么tags不透明地视为Releases。


如果您希望收到有关API更改的通知,可以订阅GitHub API Changes博客

但是,如果您迫不及待,则GitHub API主页上会显示“如果有任何问题或要求,请联系支持。 ”。可以通过电子邮件发送至support@github.com或此联系表来完成

更新:

GitHub API现在允许操作Release。请参阅公告


非常感谢您的详细回答。回复:/ releases-我获得了0个rails版本,这有点奇怪,不是吗?
2013年

1
我不觉得这很奇怪。这仅意味着Rails团队尚未使用GitHub UI Release从现有的创建tagReleases是最近才添加的。也许Rails团队宁愿坚持当前的流程,并在发布新版本时将其发布到博客中(请参阅3.2.14公告)。
nulltoken

2
+1表示标记和发行版以及它们各自的用途之间的明确区别:“ A taggit概念,而a ReleaseGitHub高级概念... A Release是从现有tag版本创建的,并公开了发行说明和下载软件的链接或来自GitHub的源代码。”
保罗·马斯里·斯通

也许还应该知道,现在有一个名为hub的命令行工具可以增强git的功能。在这些超级大国中,可以在终端中推动释放。
Paul Razvan Berg,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.