项目管理中如何使用语义化版本号
语义化版本号
https://semver.org/
https://guides.rubygems.org/patterns/#semantic-versioning
所有举例均假设发布版本号为:1.8.2
版本的发布路线
测试中的版本号,按照实际的测试情况,每次发布的版本路线可能如下:
1.8.2-alpha
1.8.2-alpha.1
1.8.2-alpha.beta
1.8.2-beta.0
1.8.2-beta.1
1.8.2-beta.2
1.8.2-rc.1
1.8.2-rc.2
1.8.2
经历了三次 alpha 版本,三次 beta 版本,两次 rc 版,最终发布
cocoapods 对版本库的选取规则
cocoapods 可以通过 pod "name", 'version' 方式引用指定版本的依赖库。
https://guides.cocoapods.org/syntax/podfile.html#pod
对于版本号的控制分别有五种: =
, >=
, <
, <=
, ~>
,对于前四种很好理解,就是常见的算术关系,cocoapods 新增了第五种关系运算符 ~>
,这个运算符的含义比较动态,他的意思是 大于等于当前版本号,但小于当前次要版本号的范围,在语义化版本的定一下,它的目的就很明确了,在确保版本最新的同时还要保证兼容性。所以推荐多多使用 ~>
这样既能及时更新最新的版本,又不会影响程序库的兼容性。
各个阶段版本号之间的比较关系如下:
1.8.2-alpha < 1.8.2-beta < 1.8.2-rc < 1.8.2