我们首先简单了解一下语义化版本版本号,标准的版本格式为:X.Y.Z,其中:
X:主版本号,当我们做了不兼容或者颠覆性的更新,修改此版本号。
Y:此版本号,当我们做了向下兼容的功能性修改,修改此版本号。
Z:修订号,当我们做了向下兼容的问题修正,修改此版本号。
其中X、Y和Z必须为非负整数,禁止数字前补零,每个数值都是递增的。
版本范围是一组满足指定范围的比较器,一个比较器是由操作符和版本号组成,下面是最原始的操作符:
= 等于;如果没有指定操作符,则默认为等于。
Alpha、Beta、Gamma与α、β、λ谐音,是希腊字母前三个字母,用来表示软件开发过程中测试的三个阶段:
Alpha:内测版,内部交流或者专业测试人员测试用;
Beta:公测版,专业爱好者大规模测试用,存在一些缺陷,该版本也不适合一般用户安装;
Gamma:比较成熟的测试版,与即将发行的正式版相差无几;
RC:是 Release Candidate 的缩写,意思是发布倒计时,候选版本,处于Gamma阶段,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会除BUG,不会对软件做任何大的更改。从Alpha到Beta再到Gamma是改进的先后关系,但RC1、RC2往往是取舍关系。
Stable:稳定版。在开源软件中,都有stable版,这个就是开源软件的稳定发行版。
这么做是有两个目的,首先测试版会经常更新并且可能包含不适合公开的重大改动,因此被排除在范围之外;再者,虽然用户明确此次使用有风险的测试版本,然而下一版本的测试版被包含进来仍然是不合适的。
如果范围中的第一个版本号只有一部分,剩下的部分以零填充。
如果范围中的第二个版本号只有一部分,代表范围中包含了这个版本。
X x 或者 * 可以用在主版本号、此版本号以及修订版本号的任何一个上面。
部分版本号的含义与X范围表示含义一样,所以X或者*都是可以省略的。
波浪线(~)范围 ~1.2.3 ~1.2 ~1
~1.2.3-beta.2 := >=1.2.3-beta.2 <1.3.0 注意版本为1.2.3且大于等于beta.2的测试版本在范围内,因此 1.2.3-beta.4 满足条件,而1.2.4-beta.2不满足条件。
允许在不修改[major minor patch]中最左非零数字的更改。换句话说,允许在 1.0.0 及以上版本对次版本号和修订版本号的更新,允许在 0.1.0以及以上版本对修订版本号更新,版本为 0.0.X 不允许更新。
此条目是由ares发表在Other分类目录的。将固定链接加入收藏夹。