# conventional-changelog-cli,提交日志(更新日志)的自动生成
# 引言
代码git提交规范,可以给定位问题和回滚提供有力的依据。commitizen和cz-conventional-changelog能使用husky代替,husky通过git钩子控制,更具备约束性
# 使用到的插件
- commitizen
- cz-conventional-changelog
- conventional-changelog-cli
# 1. commitizen
Commitizen插件简介:使用Commitizen提交时,系统将提示您在提交时填写所有必需的提交字段。不需要再等到稍后git提交钩子函数来检测提交内容从而拒绝您的提交请求。
# 插件的使用
npm install -D commitizen
npm install -D cz-conventional-changelog
npm install -D conventional-changelog-cli
# 1.配置commitizen
添加package.json配置
{
"scripts": {
"commit": "cz"
},
"config": {
"commitizen": {
"path": "cz-conventional-changelog"
}
}
}
# 2. 使用commitizen
npm run commit
说明:
- feat: 新增一个功能
- fix: 修复bug
- docs: 仅仅修改了文档,比如README, CHANGELOG, CONTRIBUTE等等
- style: 仅仅修改了空格、格式缩进等等,不改变代码逻辑
- refactor: 代码重构,没有加新功能或者修复bug
- perf: 优化相关,比如提升性能、体验
- test: 测试用例,包括增加缺失用例或者修正测试用例
# 配置conventional-changelog-cli
添加package.json配置
{
"scripts": {
"genlog": "conventional-changelog -p angular -i CHANGELOG.md -s"
}
}
# 使用conventional-changelog-cli
npm run genlog
# 首次执行
conventional-changelog -p angular -i CHANGELOG.md -s -r 0
最后生成了你想要的CHANGELOG.md文件