commitlint

448 阅读1分钟
  • 安装依赖
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'

commit-msg.png