- package.json
自己安装即可 npm install -D commitizen cz-conventional-changelog validate-commit-msg lint-staged yorkie
{
...
"devDependencies": {
...,
"commitizen": "^4.2.5",
"cz-conventional-changelog": "^3.3.0",
"lint-staged": "^13.2.0",
"validate-commit-msg": "~2.14.0",
"yorkie": "^2.0.0"
},
"gitHooks": {
"pre-commit": "lint-staged",
"commit-msg": "validate-commit-msg"
},
"lint-staged": {
"*.{js,ts,vue}": [ "eslint --fix" ]
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog" }
}
}
- 新建 文件 .vcmrc
{
"types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert"],
"scope": {
"required": false,
"allowed": ["*"],
"validate": false,
"multiple": false
},
"warnOnFail": false,
"maxSubjectLength": 100,
"subjectPattern": ".+",
"subjectPatternErrorMsg": "subject does not match subject pattern!",
"helpMessage": "",
"autoFix": false
}
效果:不按格式提交的话:
正确的格式:
比如: feat: 新增页面
**注意:feat后的冒号是英文的格式,其后是一个空格**
Git 贡献提交规范
- 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md)
规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
- `feat` 增加新功能
- `fix` 修复问题/BUG
- `style` 代码风格相关无影响运行结果的
- `perf` 优化/性能提升
- `refactor` 重构
- `revert` 撤销修改
- `test` 测试相关
- `docs` 文档/注释
- `chore` 依赖更新/脚手架配置修改等