完全版本号的组成:
主版本号+次版本号+阶段版本号+阶段内意外版本号+日期版本号(6位) +_希腊字母版本号
如:1.0.1.0.111121_γ
版本号组成介绍:
主版本号:功能模块有大的变动,比如增加多个模块或者整体架构发生变化。
次版本号:和主版本相对而言,次版本号的升级对应的只是局部的变动。
但该局部的变动造成了程序和以前版本不能兼容,或者对该程序以前的协作关系产生了破坏,
或者是功能上有大的改进或增强。
阶段版本号:局部的变动,主要是局部函数的功能改进,或者bug的修正,或者功能的扩充。
阶段内意外发版版本号: 在阶段版本正在研发过程中的意外发版。
日期版本号:取软件发布当天的时间
希腊字母版本号:α(Alpha) 内网测试版
β(Beta) 外网测试版
γ(Release) 外网正式版
注:主版本号、次版本号个阶段版本号大家都比较容易理解。
这里我主要举例说明介绍下阶段内意外发版版本号:
eg: A公司针对某一款产品计划在11年11月1号和11年12月30号两天做发版更新。
11年11月1号的版本号为:1.0.1.0.111101_γ
11年12月30号的版本号为:1.0.2.0.111230_γ
突然,在11年11月1号到11年12月30号之间的某一天(我们假设为11年12月15日),
A公司的B领导在计划外决定要紧急发一次版处理一个紧急的小问题,
此时这个版并不属于11月1号的版本,也不属于12月30号的版本,
这个版其实是在11月1号版本的基础上的一个更小的版本 -> 阶段内意外发版版本。
这时候,12月15号这天的版本号则为: 1.0.1.1.111215_γ,这时我们发现主版本号、
此版本号和阶段版本号同11月1日的版本号都相同,除了日期版本号不同以外
,只有阶段内意外发版版本号不同。
另外说一点,如果11月1号代码没有做备份,直接在其基础上按照计划开发12月30号的版本
,那么12月15号这天的发版会很纠结,外网正式网的代码版本是11月1号发的
,代码已经加入了12月30号的东西,故而不能用来直接修改发版 -> 软件版本的控制很重要。