项目版本号

介绍

版本号是项目的一部分,然而很容易忽视的是其背后的含义。本文讲述如何正确的使用版本号,达成有效的信息传递。

开始使用

版本号的基本格式约束为X.Y.Z的形式,含义分别如下

X.Y.Z

  • X 主版本号

  • Y 次版本号

  • Z 修订号

基本用法

通用约束

✅ 项目初始化后,版本号为0.1.0;

✅ 每次修改,必须新开一个新版本;

❌ 禁止在数字前方补零。如将1.1.1写作1.01.1;

❌ 禁止留白,如将1.1.1写作1. 1.1;

❌ 标记版本号的软件发行后,禁止改变该版本软件的内容。

优先级判断

基本版本号

由主到次,靠前的数字越大,优先级越高。

1.0.0 < 2.0.0 < 2.1.0 < 2.1.1

复合版本号

遵循基本版本号规定,且alpha > beta > rc

1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0。

🥑 X 主版本号

  1. 0.Y.Z,0开头的版本号意味着什么?

    • 项目初始化后的开发行为

    • 当前特性并不稳定,常被修改

  2. 1.0.0,什么时候使用正式版本号?

    • 软件被正式用于生产环境

    • api达到稳定标准

  3. 递增,什么时候主版本递增?

    • 完成某一重要且稳定的特性

    • 废弃某一重要的特性

    • 阶段性存档。

🥑 Y 次版本号

  1. 0.1.0,什么时候开始用?

    • 项目被创建后的最小版本号为0.1.0

  2. 递增,什么时候次版本号递增?

    • 新特性或新功能出现

    • 某一小特性达到稳定标准

  3. 归零,当主版本号递增时,则归零。

🥑 Z 修订号

1.递增,仅在当前特性下做了向下兼容,或者修复bug

2.归零,当主版本号或次版本号递增后,修订号必须归零。

🏃 先行版本号

范例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92。

什么时候用先行版本号?

  • 非稳定版

  • 优先级低于标准版本

格式约束

  1. 必须为[0-9A-Za-z-],通过-号连接在版本号的尾部

  2. 常见的有alpha, beta, rc三个版本

🏃 编译版本号

范例:1.0.0-alpha+001、1.0.0+20130313144700、1.0.0-beta+exp.sha.5114f85。

什么时候用编译版本号?

  • 当软件被新编译后,需加上编译版本号

格式约束

格式必须为[0-9A-Za-z-],用+号连接,补充在版本号最末尾

最后更新于