@qidiandasheng
2019-04-09T02:21:50.000000Z
字数 1481
阅读 2239
使用工具
全局安装:
npm install -g commitizen cz-conventional-changelogecho '{ "path": "cz-conventional-changelog" }' > ~/.czrc
安装好之后git commit -m ""替换为git cz即可,效果如下图:

安装:
npm i -D @commitlint/config-conventional @commitlint/cli
在专门的 commitlint 配置文件 commitlint.config.js 中配置如下:
module.exports = {extends: ['@commitlint/config-conventional']};
husky 安装:
npm install husky --save-dev
创建package.json文件:
npm init --yes
在package.json里写入以下配置:
"husky": {"hooks": {"commit-msg": "commitlint -e $GIT_PARAMS"}}
npm install -g conventional-changelog-clicd my-projectconventional-changelog -p angular -i CHANGELOG.md -s -r 0
上面这段命令太长的话可以在package.json内写入以下配置,然后直接执行npm run changelog即可:
"scripts": {"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"}
更多参数,参考conventional-changelog --help
conventional-changelog -p angular -i CHANGELOG.md -s -r 0
该命令会覆盖以前的 changelog, -r表示从最新的 release 向前追溯有多少个 release 被生成,0表示重新生成所有 changelog。
以下是我输出的一个内容,每一个tag都会生成一个标题,下面是对应的提交记录,如果最新的没打tag,则如我第一个显示的那样[1.0.0]。然后标题后面的()里表示的是哪两个tag之间的提交。
# [1.0.0](/compare/1.2.1...1.0.0) (2019-04-08)### Features* 未打tag的内容 9157ed4## [1.2.1](/compare/1.2.0...1.2.1) (2019-04-08)### Bug Fixes* fa f87d46b### Features* 测试 fc4602a# [1.2.0](/compare/1.1.2...1.2.0) (2019-04-08)### Features* 测试 e279c8b## [1.1.2](/compare/1.1.1...1.1.2) (2019-04-08)### Features* 加入检查脚本 8b06a1b## [1.1.1](/compare/1.1.0...1.1.1) (2019-04-08)# [1.1.0](/compare/6bc08e7...1.1.0) (2019-04-08)### Bug Fixes* fix bug1 29dce1c### Features* 测试1 6bc08e7* 测试2 0a43758* 测试3 4361bf7
