GIT版本号命名通用规则,开源项目版本号通用规则

文章介绍了软件版本号的一般规则,包括Major.Minor.Patch的递增策略,先行版本号和开发版本号的用法。此外,详细阐述了商业软件中的版本修饰词,如Snapshot、Alpha、Beta、RC等的含义。同时,文章还特别讨论了Spring框架的版本命名规则,如Snapshot、Release、GA和Milestone等版本类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、项目版本号通用规则

该规则对版本的迭代顺序命名做了很好的规范,其版本号的格式为X.Y.Z(又称为Major.Minor.Patch),递增的规则为:

序号格式要求说明
X非负整数表示主版本号(Major),当API的兼容性变化时,X需递增。
Y非负整数表示次版本号(Minor),当增加功能时(不影响API)的兼容性,Y需递增。
Z非负整数表示修订号(Patch),当做Bug修复时(不影响API的兼容性),Z需递增。

详细的使用规则如下:
X,Y,Z必须为非负整数,且不得包含前导零,必须按数值递增,如1.9.0 -> 1.10.0 -> 1.11.0
0.Y.Z的版本号表明软件处于初始开发阶段,意味着API可能不稳定;1.0.0表明版本已有稳定的API。

当API的兼容性变化时,X必须递增,Y和Z同时设置为0;当新增功能(不影响API的兼容性)或者API被标记为Deprecated时,Y必须递增,同时Z设置为0;当进行bug fix时,Z必须递增。

先行版本号(Pre-resease)意味着该版本不稳定,可能存在兼容性问题,其格式为:X.Y.Z.[a-c][正整数],如 1.0.0.a1 , 1.0.0.b99,1.0.0.c1000

开发版本号常用于CI-CD,格式为 X.Y.Z.dev[正整数],如1.0.1.dev4

版本号的排序个UI则为依次比较主版本号、次版本号和修订号的数值,如1.0.0 < 1.0.1 < 1.1.1 < 2.0.0 ;对于先行版本号和开发版本号,有1.0.0.a100 < 1.0.0,2.1.0.dev3 < 2.1.0 ;当存在字母时,以ASCII的排序来比较,如1.0.0.a1 < 1.0.0.b1

注意!版本一经发布,不得修改其内容,任何修改必须在新版本发布!

二、商业软件中常见的版本号 修饰词

描述方式说明含义
Snapshot快照版尚不稳定、尚处于开发中的版本
Alpha内部版严重缺陷基本完成修正并通过复测,但需要完整的功能测试
Beta测试版相对Alpha有很大的改进,消除了严重的错误,但还是存在一些缺陷
RC终测版Release Candidate(最终测试),即将作为正式版发布
Demo演示版只集成了正式版部分功能,无法升级
SPSP1是service pack的意思,表示升级包,相信大家在windows中都见过
Release稳定版功能相对稳定,可以对外发行,但有时间限制
Trial试用版试用版,仅对部分用户发行
Full Version完整版即正式版,已发布
Unregistered未注册有功能或时间限制的版本
Standard标准版能满足正常使用的功能的版本
Lite精简版只含有正式版的核心功能
Enhance增强版正式版,功能优化的版本
Ultimate旗舰版在标配版本升级体验感更好的版本
Professiona专业版针对更高要求功能,专业性更强的使用群体发行的版本
Free自由版自由免费使用的版本
Upgrade升级版有功能增强或修复已知bug
Retail零售版单独发售
Cardware共享版公用许可证(IOS签证)
LTS维护版该版本需要长期维护

三、软件版本号使用限定

为了方便理解,版本限定的语法简述为[范围描述]<版本号描述>,范围描述可选,必须配合版本描述确定范围,无法独立存在。

  • < 小于某一版本号
  • <= 小于等于某一版本号
  • > 大于某一版本号
  • >= 大于等于某一版本号
  • = 等于某一版本号,没有意义和直接写该版本号一样
  • ~ 基于版本号描述的最新补丁版本
  • ^ 基于版本号描述的最新兼容版本
  • - 某个范围,他应该出现在两个版本描述中间,实际语法应为<版本描述> - <版本描述>

严格来讲,对~,^ 的表述需要结合具体的包管理工具和版本号规则来确定,但是对于一般使用记住如下原则:

  • ^ 是确保版本兼容性时,默认对次版本号的限定约束
  • ~ 是确保版本兼容性时,默认对补丁号的约束

四、Spring版本命名规则

描述方式说明含义
Snapshot快照版尚不稳定,尚处于开发中的版本
Release稳定版功能相对稳定,可以对外发行,但有时间限制
GA正式版代表广泛可用的稳定版(General Availability)
M里程碑版(M是Milestone的意思)具有一些全新的功能或是具有里程碑意义的版本
RC终测版Release Candidate(最终测试),即将作为正式版发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃了也弱了。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值