0%

版本号规范

使用GNU风格的版本号

1
2
主版本号.子版本号[.修正版本号[.编译版本号]]
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
例子:
1
2
3
4
5
6
7
8
9
0.1
1.1.2
2.3.1 build-12427

# a1表示alpha 1
2.3.1a1 build-12427
v2.3.1-a.1 build-12427

v1.0.0-rc.1 build-12352
### 主版本号 主版本号变化意味着进行了重大的修改或者局部的修正积累较多,导致项目整体发生变化,API可能不再兼容了。另外当主版本号为0时表明项目正处于开发阶段,项目处于不稳定的状态。 ### 子版本号 在项目原有的基础上增加或完善功能时递增子版本号。相同主版本号,随着子版本的递增在API上应该是向后兼容的。 ### 修正版本号 局部修改或者修复bug时递增修正版本号。 ### 编译版本号 build版本号一般由版本管理工具(例如:svn、git)或者编译器自动生成。我们可定义其格式,但不应该进行人为控制。

例如(git生成版本号):

1
2
3
4
5
6
7
8
$ git describe
v1-4-gee5f904

# 4-gee5f904这部分就是build版本号了
# 分为三部分4、-g和ee5f904
# 4表示自从打v1 tag以来的第4次提交
# -g,这里的g表示git
# ee5f904表示最新提交的commit id的前7位
### 修饰描述
1
2
3
4
5
6
7
8
9
10
11
12
alpha:         内部版本
beta: 测试版
demo: 演示版
enhance: 增强版
free: 自由版
full version: 完整版,即正式版
lts: 长期维护版本
release: 发行版
rc: 即将作为正式版发布(Release Candidate)
standard: 标准版
ultimate: 旗舰版
upgrade: 升级版
这些修饰词可以加在版本号的后面并且还可以再加上一位的版本号,例如:
1
2
3
2.3.1a1 build-12427
4.1.2-rc.1 build-24327
Ubuntu 20.04 LTS
### 约定 - 当其中一个版本号递增时,它右边的所有部分都要归零 例如:
1
版本号1.3.24要递增子版本号,那么变成1.4.0
阅读全文 »