- 安装依赖
npm install --save-dev @commitlint/config-conventional @commitlint/cli husky
生成配置文件 .commitlintrc.js
// 注意.commitlintrc.js文件格式为utf-8,要跟.husky同层,如果node_modules跟.commitlintrc.js不同层,需要修改extends引入路径
echo "module.exports = {extends: ['@commitlint/config-conventional']};" > commitlint.config.js
- 在 package.json 中引入 husky
- 同时在scripts引入prepare(别人拉取代码npm install后会自动执行npx husky install)
{
...
...
"scripts": {
"prepare": "npx husky install",
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}
这段配置告诉了git hooks,当我们在当前项目中执行 git commit -m '测试提交' 时将触发commit-msg事件钩子并通知husky,从而执行 commitlint -E HUSKY_GIT_PARAMS命令,也就是我们刚开始安装的./node_modules/.bin/commitlint,它将读取commitlint.config.js配置规则并对我们刚刚提交的测试提交这串文字进行校验,若校验不通过,则在终端输出错误,commit终止。
原文链接:blog.csdn.net/qq_38290251…
- 在 .git 同层生成 .husky
npx husky install // 必须在.git同层执行
添加 hooks,在 .husky 文件夹下生成 commit-msg 文件,并将 ./node_modules/.bin/commitlint --edit $1 写入文件中
npx husky add .husky/commit-msg './node_modules/.bin/commitlint --edit $1'