SemVer
SemVer 是 Semantic Versioning(语义化版本控制)的缩写,它是一种版本号命名规则,用于定义软件版本的演进方式。SemVer 的核心思想是通过版本号的不同部分来传达版本之间的变化性质,以确保开发者和用户理解版本升级对软件的影响。
SemVer 的格式是:
每个部分的含义如下:
MAJOR(主版本号):当你做了不兼容的 API 更改时,增加此版本号。
比如从
1.0.0
升级到2.0.0
,表示引入了与旧版本不兼容的更改。
MINOR(次版本号):当你做了向下兼容的功能性新增时,增加此版本号。
比如从
1.0.0
升级到1.1.0
,表示引入了新功能但与之前版本兼容。
PATCH(修订版本号):当你做了向下兼容的错误修正时,增加此版本号。
比如从
1.0.0
升级到1.0.1
,表示修复了 bug,但未引入新功能或破坏性更改。
其他约定
先行版本(Pre-release):可以用连字符跟在版本号后面标识(如
1.0.0-alpha
),用于表示测试版本或尚未完成的版本。版本元数据(Build Metadata):用加号跟随版本号后标识(如
1.0.0+build123
),表示版本的额外信息,通常不会影响版本的排序。
例子
1.0.0
:第一个稳定版本。1.1.0
:向下兼容的功能新增。1.1.1
:向下兼容的 bug 修复。2.0.0
:破坏性更新,不向后兼容。
SemVer 的优势在于它为版本号提供了明确的规则,使开发者和用户能够清楚地理解版本更新带来的影响。这对于管理依赖关系和升级库特别有用。
Last updated