Git Commit 规范流程化

结合 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

  • vue-cli-plugin-commitlint vue 官方提供的代码提交规范, 主要是提示信息是中文
  • husky git hooks

安装:工具

npm i vue-cli-plugin-commitlint commitizen commitlint conventional-changelog-cli husky -D
复制代码

功能:ui

  1. 自动检测 commit 是否规范,不规范不容许提交
  2. 自动提示 commit 填写格式。不怕忘记规范怎么写
  3. 集成 git add . && git commit 不须要在执行两个命令
  4. 自动生成 changelog

配置

  1. 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"
        }
      }
    }
    复制代码
  2. 新增 commitment.config.js 文件

    module.exports = {
      extends: [
        './node_modules/vue-cli-plugin-commitlint/lib/lint',
        '@commitlint/config-conventional'
      ]
    };
    复制代码
  3. 使用

    # 生成 changelog 文件 并执行 git add . && git commit -m "" 
    npm run cz
     # 生成 changelog 文件
    npm run log
    复制代码
👇 公众号 👇
相关文章
相关标签/搜索