@qidiandasheng
2019-04-09T10:21:50.000000Z
字数 1481
阅读 1801
使用工具
全局安装:
npm install -g commitizen cz-conventional-changelog
echo '{ "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-cli
cd my-project
conventional-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