【问题标题】:GitHub releases, multiple files and versioningGitHub 发布、多个文件和版本控制
【发布时间】:2021-03-25 16:00:53
【问题描述】:

如果我有一个具有以下文件/文件夹结构的 GitHub 存储库 github.com/@product/template

/build
  /fileA
  /fileB
/src
  /generator.sh

GitHub 似乎并不固执己见如何对文件发布进行分组。有多种选择:

包含多个文件的版本

github.com/@product/template
  v1.0.0
    /fileA
    /fileB
  v1.1.0
    /fileA
    /fileB
  v1.2.0
    /fileA
    /fileB

分别发布每个文件

github.com/@product/template
  fileA-v1.0.0
    /fileA
  fileA-v1.1.0
    /fileA
  fileA-v1.2.0
    /fileA
  fileB-v1.0.0
    /fileB
  fileB-v1.1.0
    /fileB
  fileB-v1.2.0
    /fileB

想知道每种模式的优缺点是什么?考虑到文件可以独立更新? fileA 更新了,会不会也发布新版本的 fileB?

用户需要搜索更长的版本列表才能找到他们想要下载的文件?

【问题讨论】:

    标签: github release versioning github-actions semantic-versioning


    【解决方案1】:

    GitHub 似乎并不固执己见如何对文件发布进行分组

    确实,它没有意见:您正在构建您认为合适的发布资产。

    但是:一个版本(针对一个文件或多个文件)与一个标签相关联(参见“creating a release”)
    并且该标签适用于所有源存储库(适用于其中的所有文件)

    这就是为什么新版本通常包含所有新交付的原因。

    【讨论】:

    • 我猜一个代码更改可能会影响多个文件,所以最好一起发布