【发布时间】:2023-03-13 11:46:01
【问题描述】:
使用 GitHub 的 API,我无法获取发布列表,但我可以获取标签列表。
它们有什么区别?
【问题讨论】:
标签: git github github-api
使用 GitHub 的 API,我无法获取发布列表,但我可以获取标签列表。
它们有什么区别?
【问题讨论】:
标签: git github github-api
它们有什么区别?
tag 是指向特定提交的指针。这个指针可以附加一些额外的信息(标签创建者的身份、描述、GPG签名......)。
tag 是一个 git 概念,而 Release 是 GitHub 更高级别的概念。
正如 GitHub 博客的 official announcement 帖子中所述:“发布是一流的对象,具有变更日志和二进制资产,呈现了 Git 工件之外的完整项目历史。”
Release 是从现有的 tag 创建的,并公开发布说明和从 GitHub 下载软件或源代码的链接。
使用 GitHub 的 API,我无法获取发布列表,但我可以获取标签列表。
GitHub API 的当前版本没有公开管理Releases 的方法(创建、更新...)。我很确定这应该不会花太长时间才能暴露出来。
但是,目前可以列出特定存储库的版本和标签。
例如,下面的网址将列出来自 ReactiveUI
的 6 个版本(截至今天)而这个将列出来自同一存储库的 54 个标签(截至今天)
创建一个版本当前在一个涉及手动操作的过程中(添加发行说明,上传包,...)。这就解释了为什么tags 不透明地被视为Releases。
如果您想在 API 更改时收到通知,可以订阅 the GitHub API Changes blog。
但是,如果您迫不及待,GitHub API 主页会声明“如果您有任何问题或请求,请联系支持人员。”。这可以通过发送电子邮件至 support@github.com 或发送至 contact form 来完成。
GitHub API 现在允许操作 Releases。请参阅 announcement。
【讨论】:
tag 创建Release。 Releases 是最近添加的。也许 Rails 团队更愿意坚持他们当前的流程,并在新版本发布时发布到他们的博客(参见 3.2.14 announcement)。
tag 是 git 概念,而 Release 是 GitHub 更高级别的概念...Release 是从现有的 tag 创建的,并公开发布说明和链接以从 GitHub 下载软件或源代码。”