【问题标题】:What exactly is a Release in GitHub?GitHub 中的 Release 到底是什么?
【发布时间】:2016-02-06 16:44:43
【问题描述】:
  • 究竟是什么?
  • 它有什么用?
  • 使用范围有多广?
  • 通常如何使用?

【问题讨论】:

  • 注意:自 2021 年 4 月起,可以评论/讨论 GitHub 版本。见我的edited answer below

标签: git github release github-api


【解决方案1】:

From Official GitHub:

版本GitHub 的打包软件并向您的用户提供软件的方式。您可以将其视为使用下载来提供软件的替代品。

通过版本,您可以提供二进制文件的链接,以及描述您的更改的版本说明。

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

有关查看现有标签的更多信息,请参阅Working With Tags

【讨论】:

    【解决方案2】:

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

    定义

    如“About Releases”中所述

    发行版是 GitHub 打包并向您的用户提供软件的方式。您可以将其视为使用下载来提供软件的替代品。

    发布是一个或多个资产的容器,与 git 注释标签相关联(来自 git push --follow-tags only pushes annotated tags

    It replaces since July 2013 an old "GitHub Download" systembeginning to get abused(人们在其中存储了任何东西),并于 2012 年 12 月被删除。
    通过强制间接(标签 => 发布 => 资产),GitHub 使该功能更易于管理。

    dirkjot 添加in the comments

    两个容易被忽视的要点:

    1. 发布最初是“空的”,因为它与标签相关联,而不是从该标签生成
    2. 资产已上传,因此不一定与源代码相关。

    脚注:空版本将在标记提交处自动包含源代码的 tgz 和 zip 版本


    用法

    使用了 GitHub 版本:

    • 避免将大型生成的二进制文件存储在像git这样的控制系统中。
    • 由 repo 的用户下载“最终结果”,即已经从 git repo 内容为他们构建的“交付”,即使他们没有 git。

    示例

    使用发布的项目示例是git for windows releases
    git for Windows 的情况下,考虑到您可能希望首先安装 git,并且您可能没有正确的工具集来编译其源代码,这会派上用场。


    API 考虑

    正如GitHub V3 Release API 所示,发布不是标签。
    当您create a release 时,您需要标签的名称,但这会创建一个 empty 版本(与该标签相关联)

    在发布后,您可以upload one or more assets to it

    资产数据应为其原始二进制形式。

    POST https://<upload_url>/repos/:owner/:repo/releases/:id/assets?name=foo.zip
    

    注意:GitLab 还支持“发布”since GitLab 8.2 (Nov. 2015)


    讨论

    自 2021 年 4 月起,您现在拥有:

    Releases support comments and reactions with Discussion linking

    您现在可以将讨论链接到新版本!

    起草新版本时,选中为此版本创建讨论框,选择一个类别,然后发布。
    您的社区将能够对发行说明做出反应和评论,从而为项目提供更多庆祝和接收反馈的机会。
    发布讨论也可以在 GitHub Mobile 上以本地方式获得。

    有关详细信息,请参阅 GitHub DiscussionsGitHub ReleasesGitHub Mobile 文档。


    请注意,在 2021 年第三季度,您可能拥有native changelog generator

    【讨论】:

    • 你能编辑你的答案设计吗?内容很好,但它应该得到一个高质量的答案。我提出这个问题主要是为了让其他人找到它,所以它应该得到一个易于阅读的答案。
    • @BerndErnst 当然。我已经相应地重写了答案。
    • 两个很容易被忽略的要点: 1/ 发布最初是“空的”,因为它与不是从该标签生成的标签相关联 2/ 资产已上传,因此不一定与源代码相关.脚注:空版本将在标记提交处自动包含源代码的 tgz 和 zip 版本。
    • @dirkjot 谢谢。我已将您的评论包含在答案中以提高知名度。
    猜你喜欢
    • 2013-05-29
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 2013-02-06
    • 2013-05-05
    • 2010-11-19
    • 2012-06-16
    相关资源
    最近更新 更多