规范提交信息
1、全局安装Commitizen
npm install -g commitizen
2、在项目根目录下运行下面命令,使其支持angular的 Commit message 格式
commitizen init cz-conventional-changelog --save --save-exact
注意,–save-exact 相当于锁定版本号
此时,package.json新增了这部分内容
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"devDependencies":{
"cz-conventional-changelog": "^3.1.0"
}
3、提交命令 (将git commit命令改为git cz命令)
git add --all
git cz
延伸知识:
git add --all和git add . 的区别
- 1.x版本:
- git add --all可以提交未跟踪、修改和删除文件。
- git add .可以提交未跟踪和修改文件,但是不处理删除文件。
- 2.x版本两者效果一致
类别
- feat:新功能(feature)
- fix:修补 bug
- docs:文档(documentation)
- style: 格式(不影响代码运行的变动)
- refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)
- test:增加测试
- chore:构建过程或辅助工具的变动
- revert:回滚代码
检测提交信息
- 安装依赖
npm install ghooks validate-commit-msg --save-dev
- package.json配置
"config": {
"ghooks": {
"commit-msg": "validate-commit-msg"
}
}
自动生成CHANGELOG?
- 全局安装
$ npm install conventional-changelog-cli -g
- package.json配置
"scripts":{
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
}
运行
npm run changelog