版本控制比较普遍的三种命名格式
-
GNU 风格的版本号命名格式
主版本号 . 次版本号 [. 修正版本号 [. 编译版本号 ]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124
-
Windows 风格的版本号命名格式 :
主版本号 . 次版本号 [ 修正版本号 [. 编译版本号 ]]
示例: 1.21, 2.0
-
Net Framework 风格的版本号命名格式:
主版本号.次版本号[.编译版本号[.修正版本号]]
版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选 的;内部版本号和修订号是可选的,但是如果定义了修订号部分,则内部版本号就是必选的。所有定义的 部分都必须是大于或等于 0 的整数。
GNU版本说明
版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改 次版本号:当你做了向下兼容的功能性新增 修订号:当你做了向下兼容的问题修正
主版本号:
主版本代表不向下兼容的API的新增,在APP里表示大版本更新
项目开发初期在API不稳定的情况下,一般以0开始,表示该项目公共API不稳定,随时可能会变. 正式稳定版、APP第一版以1开始,当项目发生大的变化的时候主版本号++,次版本号以及修订号归零次版本号:
次版本号标示做了兼容旧API的处理,在APP里表示在原有的基础上增加了部分功能时候++,修订号归零
修订号:
项目的bug修复以及小范围更改,APP同理
版本号规则说明
在平常开发的时候,我们会引用一些第三方的jar包或者compile一些开源的library,通过上述说明,我们可以根据引用的jar包、类库的版本号,适当的去升级.比如说引用一个第三方的库xxx-2.1,那我们在后期可以放心的使用>=2.1、<3.0之内所有版本更新,因为主版本号不变的情况下,只是修改了次版本号(向下兼容的修改和新增)、修订号(bug的修复),不会出现兼容问题,主版本增加了不兼容旧版本的修改