版本命名规范
上家公司在发版时对tag的命名一直不是很规范,参考了各大网站及博客上的说明,做个笔记。
版本号格式:
常见格式:[name].A.B.C-[state]
name:可选字段,一般为 v,表示 version;
A:Major主版本号,一般当软件整体重写,或当API兼容性变化时递增;
B:Minor次版本号,当增加功能时(API兼容性不变化)递增;
C:Patch修订号,Bug修复时(API兼容性不变化)递增;
state:可选字段,表示版本状态,用alpha等修饰词
Detail
A,B,C为非负整数,且不得包含前导0,按数值递增。
🌰1.2.0->1.3.0->1.4.0
0.B.C表示处于开发阶段,API不稳定,1.0.0表明已有稳定版本API
当API兼容性变化时,A++,B=C=0;
当功能新增或API标记为deprecated弃用时,B++,C=0;
当Bug Fix时,C++;
先行版本号(Pre-release)表示该版本不稳定,可能有兼容问题。
格式1.0.0.[a-c][正整数]
🌰1.0.0.a3
1.0.0.b89
1.0.0.c1999008
开发版本号多用于CI-CD,格式
A.B.C.dev[正整数]
。
🌰1.0.1.dev5
版本号排序规则:
- 主版本号,次版本号,修订号
🌰1.0.0<1.0.1<1.1.1<2.0.0
- 对先行版本号与开发版本号
🌰1.0.0.a10<1.0.0
2.1.0.dev2<2.1.0
- 存在字母,按ASCII码排序
🌰1.0.0.a10<1.0.0.b10
- 主版本号,次版本号,修订号
Tip:版本一经发布,不得修改!
修饰词
alpha
内部版本beta
测试版demo
演示版enhance
增强版free
自由版full version
完整版,正式版lts
长期维护版release
发行版rc
即将正式发布standard
标准版ultimate
旗舰版upgrade
升级版
参考:
- 语义化版本 2.0.0
- 理解版本命名及限定规则
- 《软件工程》第十版 第25章 ISBN:9787111589105