提交规范--自动生成 Changelog

223 阅读1分钟

自动生成 Changelog

根据项目的 commit 和 metadata 信息自动生成 changelogs 和 release notes 的系列工具,并且在辅助 standard-version 工具的情况下,可以自动帮你完成生成 version、打 tag, 生成 CHANGELOG 等系列过程。

安装

pnpm add standard-version -D

standard-version 版本命令更新

// --release-as === -r 指定版本号standard-version -r major -n  // 更新主版本 1.0.0 -> 2.0.0standard-version -r minor -n // 更新次版本 1.0.0 -> 1.1.0standard-version -r patch -n // 更新修订版 1.0.0 -> 1.0.1standard-version -r 2.0.0-test // 自定义修改版本// --prerelease === -p 预发版本命名standard-version -p alpha -n // 更新alpha 1.0.0 -> 1.0.0-alpha.0 【再次执行 -alpha.0 -> -alpha.1】standard-version -p beta -n // 更新beta 1.0.0 -> 1.0.0-beta.0standard-version -p rc -n // 更新rc 1.0.0 -> 1.0.0-rc.0// --tag-prefix === -t 版本 tag 前缀standard-version --tag-prefix "stable-" // 1.0.0 -> stable-v1.0.0// 查看更多命令standard-version --help

配置 package.json

"scirpt": {    "release": "standard-version", // 默认 更新patch    "release:major": "standard-version -r major -n",    "release:minor": "standard-version -r minor -n",    "release:patch": "standard-version -r patch -n",    "prerelease:alpha": "standard-version -p alpha -n",    "prerelease:beta": "standard-version -p beta -n",    "prerelease:rc": "standard-version -p rc -n"}

git tag help

# 列出所有 taggit tag# 添加 taggit tag -a stable-v1.0.0 -m 'xx功能需求稳定版本1.0.0'# 删除某个标签git tag -d <tag_name># 显示标签对应提交记录的具体信息git show <tag_name># 推送某个标签到远程仓库git push <remote> <tag_name># 删除远程仓库中的某个标签git push <remote> --delete <tag_name>

语义化版本 semver

语义化版本 semver

语义版本控制规范

Example: 1.0.0 < 2.0.0 < 2.1.0 < 2.1.1.Example: 1.0.0-alpha < 1.0.0.Example: 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