返回

commitLint和husky实现代码提交校验

前端

前言

在团队开发中,规范化的代码提交有助于提高代码质量和团队协作效率。规范化的代码提交包括但不限于以下方面:

  • 提交信息格式一致:提交信息应该包含提交类型、提交范围和提交说明,并且应该按照一定的格式书写。
  • 提交信息内容准确:提交信息应该准确地提交的内容,并且应该包含足够的细节信息,以便其他开发者能够理解提交的意图。
  • 提交信息语气友好:提交信息应该使用友好的语气,并且应该避免使用攻击性或负面的语言。

为了实现代码提交的规范化,可以使用一些工具来帮助团队。commitlint和husky就是两个优秀的工具,可以帮助团队实现代码提交的规范化。

commitlint

commitlint是一个用于检查提交信息的工具。commitlint可以根据预定义的规则来检查提交信息,并给出相应的提示信息。commitlint支持多种提交信息格式,包括Conventional Commits、Angular Commit Message Format和Custom Format。

husky

husky是一个用于管理git钩子的工具。git钩子是一种在git操作执行前后自动触发的脚本。husky可以帮助团队在提交代码、推送到远程仓库等操作之前,自动执行一些任务,例如检查提交信息、运行单元测试等。

如何使用commitlint和husky实现代码提交校验

要使用commitlint和husky实现代码提交校验,需要按照以下步骤进行操作:

  1. 安装commitlint和husky
npm install --save-dev commitlint husky
  1. 创建.commitlintrc文件

.commitlintrc文件用于配置commitlint的规则。commitlint支持多种提交信息格式,团队可以根据自己的需要选择一种提交信息格式。以下是一个示例的.commitlintrc文件:

{
  "extends": ["@commitlint/config-conventional"],
  "rules": {
    "type-case": [2, "always", "lower-case"],
    "type-enum": [
      2,
      "always",
      ["build", "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "revert", "style", "test"]
    ]
  }
}
  1. 创建.huskyrc文件

.huskyrc文件用于配置husky的钩子。husky支持多种钩子,团队可以根据自己的需要选择需要触发的钩子。以下是一个示例的.huskyrc文件:

{
  "hooks": {
    "pre-commit": "commitlint -E HUSKY_GIT_PARAMS"
  }
}
  1. 在package.json中添加husky

在package.json中添加husky,以便在运行npm命令时自动执行husky的钩子。以下是一个示例的package.json文件:

{
  "scripts": {
    "commit": "husky install && husky run pre-commit"
  }
}
  1. 运行npm命令

运行npm命令,以便安装husky的钩子并执行pre-commit钩子。以下是一个示例的命令:

npm run commit

如果提交信息不符合commitlint的规则,则husky会给出相应的提示信息。

结语

commitlint和husky是两个优秀的工具,可以帮助团队实现代码提交的规范化。通过使用commitlint和husky,团队可以提高代码质量和协作效率。