语义化版本控制 (SemVer)

一、简介

语义化版本控制 (Semantic Versioning,SemVer) 是一种版本命名规范,用于管理项目的版本更新和兼容性。其格式为 MAJOR.MINOR.PATCH,例如 1.4.2,其中每个部分分别代表重大版本、小版本和补丁版本。

二、版本号定义

1.	MAJOR 版本号:当你做了不兼容的 API 修改时,需要增加此版本号。
2.	MINOR 版本号:当你做了向下兼容的功能性新增时,需要增加此版本号。
3.	PATCH 版本号:当你做了向下兼容的问题修正时,需要增加此版本号。

三、先行版本和构建元数据

除了主要的三部分,SemVer 还允许使用先行版本和构建元数据来提供更多的版本信息。

•	先行版本 (Pre-release version):在 PATCH 版本号之后添加先行版本标识,表示该版本尚未正式发布,可能仍在开发中。例如:1.0.0-alpha。
•	构建元数据 (Build metadata):在 PATCH 版本号或先行版本之后添加元数据,表示构建过程的特定信息。例如:1.0.0+20130313144700。

四、基本规则

1.	版本号递增规则:
•	修改 MAJOR 版本号后,MINOR 和 PATCH 版本号必须归零。
•	修改 MINOR 版本号后,PATCH 版本号必须归零。
2.	版本号递增的动机:
•	任何公共 API 的更改(不论是向前还是向后不兼容)都必须更改 MAJOR 版本号。
•	添加新的功能但不影响现有 API 时,只需增加 MINOR 版本号。
•	修复错误或进行微小的改进且不影响 API 时,只需增加 PATCH 版本号。
3.	先行版本和构建元数据:
•	先行版本会标记为不稳定,可能不会满足预期的兼容性要求。
•	构建元数据用于记录构建过程的详细信息,不会影响版本的排序或相对新旧关系。

五、实践案例

假设当前版本是 1.2.3:

•	修复 Bug:版本更新为 1.2.4。
•	添加新功能:版本更新为 1.3.0。
•	做不兼容的修改:版本更新为 2.0.0。
•	发布开发版本:版本更新为 2.0.0-alpha。

六、总结

语义化版本控制通过明确的版本命名规范,帮助开发者和用户轻松理解版本更新的内容和影响,从而简化项目的版本管理和依赖处理过程。

参考链接:

semver

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值