SemVer
根据国际主流的惯例,我们使用「语义化版本(Semantic Versioning)」的命名方式,有时简称 SemVer。
语义化版本号(以下简称「版本号」)的格式是:<major>.<minor>.<patch>
。即使用三位非负整数,以点号 . 连接。
它们取值为非负整数,若大于0,不能再前方补零
如:1.4.15、6.2.0。
版本号
版本号分为x.y.z三位。分别代表了主版本号、次版本号、补丁版本号
- 如果只是修复bug,需要更新z位
- 如果新增了功能,但是向下兼容,需要更新y位
- 如果变动很大,向下不兼容,需要更新x位
先行版本号
在常规的版本号命名之上还有一个特殊类别,叫做预发版本号(prerelease version)。它表示当前版本是一个不稳定的版本,使用它时需要注意风险。
先行版本号的格式是 <major>.<minor>.<patch>-<stage>.<num>
,即前半部分和常规版本号相同,然后跟上连接符 -
,后面再跟上字母数字点号连接符。
常用的stage
有:
- alpha:内测版,内部交流或者专业测试人员测试用;
- beta:公测版,专业爱好者大规模测试用,存在一些缺陷,该版本也不适合一般用户安装;
- Gamma:比较成熟的测试版,与即将发行的正式版相差无几;
- rc:是
Release Candidate
的缩写,意思是发布倒计时,候选版本,处于Gamma
阶段,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会除BUG,不会对软件做任何大的更改。从Alpha
到Beta
再到Gamma
是改进的先后关系,但RC1、RC2往往是取舍关系。 - lts:长期维护,
long term support
的缩写。 - Stable:稳定版。在开源软件中,都有stable版,这个就是开源软件的稳定发行版。
如:1.0.0-alpha.1
4 条评论
汗 ! 版本号一直是迷一般乱填。。。
哈哈,之前我也是,从现在开始,我要规范版本号了
感觉这样叠加好慢 直接跳y位
直接跳y位,那修复bug和小功能更新就区分不开来了