结合
commitizen
commitlint
conventional-changelog-cli
husky
,进行封装,一键安装,开箱即用的git commit
规范。
团队多人协作开发时,每个开发人员习惯不同,提交 commit 信息不一,而项目中 commit 信息极为重要,是梳理不同阶段项目迭代维护情况的直观表现,也是复盘时 code view 的最好选择途径。团队梳理出相关 commit 规范后,配套相应的约束工具,从而让每个开发者提交 commit 信息时都能遵守一套相应的准则, 让项目中的 commit message 看起来更优雅和清晰。
主要 commit 约束插件:
commitizen 一个格式化 commit message 的工具
commitlint 检查 commit message 是否符合常规的提交格式。
conventional-changelog-cli 每次 commit 后产生 change log 日志文件
@commitlint/config-conventional 一些常规的 commitlint 规则,如果不满足,将产生一个非零的退出代码,退出当前执行程序。
辅助插件:
安装:
npm i vue-cli-plugin-commitlint commitizen commitlint conventional-changelog-cli husky -D 复制代码
功能:
pacakge.json
{ "scripts": { "log": "conventional-changelog --config ./node_modules/vue-cli-plugin-commitlint/lib/log -i CHANGELOG.md -s -r 0", "cz": "npm run log && git add . && git cz", }, "config": { "commitizen": { "path": "./node_modules/vue-cli-plugin-commitlint/lib/cz" } }, "husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" } } } 复制代码
新增 commitment.config.js 文件
module.exports = { extends: [ './node_modules/vue-cli-plugin-commitlint/lib/lint', '@commitlint/config-conventional' ] }; 复制代码
使用
# 生成 changelog 文件 并执行 git add . && git commit -m "" npm run cz # 生成 changelog 文件 npm run log 复制代码