返回

代码提交规范,制胜代码提交秘诀

前端

背景

随着代码库的不断增长和团队成员的不断增加,代码提交的规范性变得尤为重要。规范的代码提交可以帮助团队成员快速定位问题,追踪代码变更,并确保代码库的健康和稳定。

commitlint 简介

commitlint 是一个流行的提交规范工具,它可以帮助开发者在提交代码时强制执行特定的提交规范。commitlint 可以检查提交消息是否符合预定义的规则,并阻止不符合规则的提交。

husky 简介

husky 是一个用于在 git 钩子上注册自定义脚本的工具。我们可以使用 husky 在提交代码时自动运行 commitlint,从而强制执行提交规范。

安装与配置

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

在项目根目录下创建 .commitlintrc 文件,并添加以下配置:

{
  "extends": ["@commitlint/config-conventional"]
}
  1. 创建 commitlint.config.js 文件

在项目根目录下创建 commitlint.config.js 文件,并添加以下配置:

module.exports = {
  extends: ["@commitlint/config-conventional"],
  rules: {
    "body-leading-blank": [1, "always"],
    "footer-leading-blank": [1, "always"],
    "subject-case": [2, "always", "lower-case"],
    "subject-empty": [2, "never"],
    "subject-full-stop": [2, "never"],
    "type-case": [2, "always", "lower-case"],
    "type-empty": [2, "never"],
    "type-enum": [
      2,
      "always",
      [
        "build",
        "chore",
        "ci",
        "docs",
        "feat",
        "fix",
        "perf",
        "refactor",
        "revert",
        "style",
        "test"
      ]
    ]
  }
};
  1. 在 package.json 中添加 husky 钩子

在 package.json 文件中添加以下脚本:

{
  "scripts": {
    "commitmsg": "commitlint -E HUSKY_GIT_PARAMS",
    "precommit": "husky run commitmsg"
  }
}

使用

配置完成后,我们就可以在提交代码时使用 commitlint 了。在提交代码前,commitlint 会自动检查提交消息是否符合预定义的规则。如果提交消息不符合规则,commitlint 会阻止提交,并提示开发者修改提交消息。

最佳实践

  1. 使用清晰、简洁的提交消息

提交消息应该清晰、简洁,以便团队成员快速理解提交内容。提交消息应该包括提交类型、提交范围和提交。

  1. 使用标准的提交类型

commitlint 提供了标准的提交类型,如 feat、fix、docs 等。使用标准的提交类型可以帮助团队成员快速识别提交的类型和目的。

  1. 使用一致的提交格式

提交消息应该使用一致的格式,以便团队成员快速扫描和理解提交内容。提交消息的格式可以参考以下模板:

<type>(<scope>): <description>

<body>

<footer>

结语

规范代码提交是团队协作的基础。使用 husky7.x + commitlint 可以轻松地强制执行代码提交规范,提高代码提交的质量和一致性。希望本文能够帮助您在项目中使用 commitlint 来规范代码提交。