Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

语义化版本控制 #10

Open
maomao1996 opened this issue Jul 20, 2020 · 0 comments
Open

语义化版本控制 #10

maomao1996 opened this issue Jul 20, 2020 · 0 comments

Comments

@maomao1996
Copy link
Owner

maomao1996 commented Jul 20, 2020

语义化版本控制

语义化版本说明

  • 标准版本号表示: X.Y.Z
    • X: 表示主版本号,在有任何不兼容的修改时递增
    • Y: 表示次版本号,在有向下兼容的新功能出现时递增
    • Z: 表示修订版本号,在只做了向下兼容的修正时才递增
  • 先行版本号,在修订版本号使用连接号加上一连串以句点分隔的标识符来修饰。
    • 先行版本号则表示这个版本并非稳定而且可能无法满足预期的兼容性需求
    • 例子: 1.0.0-alpha 1.0.0-beta
  • 版本号优先级
    • 主版本号、次版本号及修订版本号以数值比较
    • 当主版本号、次版本号及修订版本号都相同时

版本号优先级排序

  1. 要将版本号拆分为主版本号、次版本号、修订版本号及先行版本号
  2. 由左到右依序比较每个标识符(主版本号、次版本号及修订版本号直接以数值比较)
  3. 当主版本号、次版本号及修订版本号都相同时,以先行版本号来判断
  4. 先行版本号判断通过由左到右的每个被句点分隔的标识符来比较,直到找到一个差异值后决定:只有数字的标识符以数值高低比较,有字母或连接号时则逐字以 ASCII 的排序来比较

🌰 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0

使用 standard-version

standard-version 可以进行语义化版本发布和 CHANGELOG 生成

安装

npm install -g standard-version
# OR
npm install --save-dev standard-version

使用

package.jsonscripts 配置 "release": "standard-version"

# 发布第一版
npm run release -- --first-release

# Pre-Release
npm run release -- --prerelease

# alpha / beta / rc
npm run release -- --prerelease alpha

# major minor patch
npm run release -- --release-as major

# 指定版本
npm run release -- --release-as x.y.z

相关资料

语义化版本 2.0.0
语义版本控制程序 semver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant