maomao1996 / daily-notes

不定期更新的日常笔记记录(零零散散啥都记系列)
https://notes.fe-mm.com/daily-notes/
63 stars 9 forks source link

语义化版本控制 #10

Open maomao1996 opened 4 years ago

maomao1996 commented 4 years ago

语义化版本控制

语义化版本说明

版本号优先级排序

  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