结合
commitizen
commitlint
conventional-changelog-cli
husky
,进行封装,一键安装,开箱即用的git commit
规范。vue
团队多人协做开发时,每一个开发人员习惯不一样,提交 commit 信息不一,而项目中 commit 信息极为重要,是梳理不一样阶段项目迭代维护状况的直观表现,也是复盘时 code view 的最好选择途径。团队梳理出相关 commit 规范后,配套相应的约束工具,从而让每一个开发者提交 commit 信息时都能遵照一套相应的准则, 让项目中的 commit message 看起来更优雅和清晰。node
主要 commit 约束插件:git
commitizen 一个格式化 commit message 的工具vue-cli
commitlint 检查 commit message 是否符合常规的提交格式。shell
conventional-changelog-cli 每次 commit 后产生 change log 日志文件npm
@commitlint/config-conventional 一些常规的 commitlint 规则,若是不知足,将产生一个非零的退出代码,退出当前执行程序。json
辅助插件:bash
安装:工具
npm i vue-cli-plugin-commitlint commitizen commitlint conventional-changelog-cli husky -D
复制代码
功能:ui
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
复制代码