GitHub中的Release是什么?

Ern*_*nst 21 git release github github-api

  • 究竟是什么?
  • 它用的是什么?
  • 使用范围有多广泛?
  • 它通常如何使用?

Ern*_*nst 19

来自官方GitHub:

发布GitHub为您的用户打包和提供软件方式.您可以将其视为使用下载来提供软件的替代品.

使用版本,您可以提供指向二进制文件的链接,以及描述更改的发行说明.

Releases的核心是基于Git标签.标记标记项目历史记录中的特定点,因此它们是指示发布的好方法.发布按标签的日期排序,方式如下:

有关查看现有标记的详细信息,请参阅使用标记.


Von*_*onC 12

我想从已经使用它的人那里了解这个官方解释,看看它是如何工作的.

定义

如" 关于版本 "中所述

发布是GitHub为您的用户打包和提供软件的方式.您可以将其视为使用下载来提供软件的替代品.

版本是一个或多个资产的容器,与git带注释的标记相关联(因为git push --follow-tags只推送带注释的标记)

它取代了自2013年7月以来一个旧的"GitHub下载"系统,该系统开始被滥用(人们存储了任何内容和所有内容),并于2012年12月删除.
通过强制间接(tag => release => asset),GitHub使该功能更易于管理.


用法

使用GitHub版本:

  • 避免在项目控制系统(如git)中存储从项目构建的大型生成的二进制文件.
  • 由repo的用户下载"最终结果",即已经从git repo内容为他们构建的"交付",即使他们没有git.

使用发行版的项目示例将是Windows发行版的git.
git for Windows的情况下,考虑到你可能想要首先安装git,并且你可能没有正确的工具集来编译它的源代码,这很方便.


API考虑因素

正如GitHub V3 Release API所示,版本不是标签.
当你创建一个版本,你需要一个标签的名字,但是这将创建一个空的释放(关联到标签)

在发布中,您可以上传一个或多个资产.

资产数据预期采用原始二进制形式.

POST https://<upload_url>/repos/:owner/:repo/releases/:id/assets?name=foo.zip
Run Code Online (Sandbox Code Playgroud)

注意:自GitLab 8.2(2015年11月)以来, GitLab还支持"发布" .