前言
在研发日常工作中,常常会使用到别人的代码包,绝大部分软件也会有版本号控制。
绝大多数情况下,软件的版本号定义遵循semver语义,是X.Y.Z这种格式的版本号,这个标准是github组织起草的,是个事实上的行业标准。
版本号规则
主要规则
X 代表主版本号
也可以称为major号。当做了破坏性的、颠覆性的改动,已无法与低版本兼容时,更新主版本号。每当主版本号递增时,次版本号和修订号必须归零。
一般从0开始,0作为主版本号,意味着此版本为非正式发布的版本,所有功能均处于测试中,会有较为频繁的功能更新与改动。
当主版本号从0升级为1时,意味着此版本作为正式发布的稳定版本。
Y 代表次版本号
也可以称为feature号。当做了向下兼容的功能性更新时,升级次版本号。每当次版本号递增时,修订号必须归零。
Z 代表修订号
也可以成为bugfix号。当做了向下兼容的小问题修正时, 升级修订号。
先行版本
先行版本号的格式一般为 X.Y.Z-<Tag>.N
,如 2.13.5-beta.3
。
先行版本类型有以下三种:
alpha
预览版,或者叫内部测试版。一般不会外部发布,仅供内部测试人员测试,会有很多bug,一般开发