最近发现在文档编写或者软件开发过程中,版本号的管理真的很重要,在此将网上看到的GNU风格的版本号管理策略摘录如下,以供学习。

 

一般的版本号划分为如下3个部分:


“主版本号 . 子版本号 . 修正版本号”

 

1.项目初版本时,版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0  (例如: 1.0.0 )

2.当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变,修正版本号加 1  (例如: 1.0.1 )
3. 当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加 1,修正版本号复位为 0 (例如: 1.1.0 )
        

4.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1 (例如: 2.0.0 )
        

5.另外,编译版本号一般是编译器在编译过程中自动生成的,我们只定义其格式,并不进行人为控制。

 

看了这篇文章,大家应该可以看得懂linux的版本编号 linux Kernel release: 2.6.33 是个啥意思了吧?它比之前的版本 2.6.32做了怎样的一种修改应该明白了吧?


补充: 一般,“子版本号”为偶数号比如2.6表示稳定版,2.7表示开发版。