Semver 标准

semver 有一套关于版本号的语义标准。

标准版本号(Major.Minor.Patch)

例如 1.2.3 这个版本号,它由三个部分组成:

1 是它的 Major,主版本号,通常只有在重构、API不向下兼容时才会进行升级。
2 是它的 Minor,次版本号,通常在增加向下兼容新特性时升级此版本号。
3 是它的 Patch,修订号,通常在发布向下兼容的问题修复时更新。

先行版本号(pre-release)

上面的 “标准版本号” 通常是指正式发布的版本。 但开发过程,往往还伴随着 内测、 公测、 生产候选 等种版本形式。

于是,在 “标准版本号” 的基础上又增加了一个新的版本号区域:pre-release 区。

如图所示。

先行版本号的典型格式是 -alpha.1 这样的形式,它由 一个短横线 + 一个字符串组成。

  • 短横线: -
  • 字符串:由大小写的字母、数字、句点 组成。

因此,以下先行版本号都是合法的:

  • 16.7.1-1
  • 16.7.1-a.2
  • 16.7.1-a.c

注意:16.7.1-alpha.1 的版本号小于 16.7.1
因为 16.7.1-alpha.116.7.1 的内测版本,所以它一定是小于正式版本的。

先行版本的约定命名

虽然规范的自由度非常高,但是为了更好的表达版本含义, 大家约定俗成了三个常见的先行版本命名方式,他们是:

  • 16.7.1-alpha.116.7.1 内测的第一个版本
  • 16.7.1-beta.116.7.1 灰度测试的第一个版本
  • 16.7.1-rc.116.7.1 生产候选的第一个版本

因为 r > b > a,所以这个约定实际也能代表上线的先后顺序:

16.7.1-alpha.1 < 16.7.1-beta.1 < 16.7.1-rc.1 < 16.7.1

powered by Gitbooklast modified: 2023-02-24 11:40:02

results matching ""

    No results matching ""