什么是 语义化版本
版本号标准 MAJOR.MINOR.PATCH
语义化版本(SemVer)——一种软件版本编号标准,格式为 MAJOR.MINOR.PATCH,每个部分都有特定含义。
版本结构
- MAJOR (1.x.x) — 不兼容的 API 更改
- MINOR (x.1.x) — 向后兼容的新功能
- PATCH (x.x.1) — 向后兼容的错误修复
- 预发布版 — 1.0.0-alpha、1.0.0-beta.1
- 构建元数据 — 1.0.0+build.123
规则
- 初始版本 — 0.1.0
- 首个稳定版本 — 1.0.0
- 增加 MAJOR 时 — 重置 MINOR 和 PATCH
- 增加 MINOR 时 — 重置 PATCH
- 版本从左到右比较
变更示例
- MAJOR:删除功能、更改方法签名
- MINOR:添加新端点、新可选参数
- PATCH:修复错误、性能改进
工具
- npm — 包使用 SemVer
- Composer — PHP 包管理器
- Maven — Java 依赖
- semantic-release — 发布自动化
- commitizen — 结构化提交
优势
- 可预测性 — 清楚更新的预期
- 自动化 — 自动确定版本
- 文档化 — 从提交生成更新日志
- 兼容性 — 安全的依赖更新