返回

Git 提交规范必备秘笈:Husky + Lint-staged + Commitlint + cz-git 整合指南

前端

Git 提交规范:团队合作的基石

在软件开发团队中,保持一致的提交规范至关重要。标准化的提交信息提高了代码变更的可理解性、可读性和可维护性,从而提高了团队的生产力。

Husky、Lint-staged、Commitlint 和 cz-git 的完美融合

通过集成这些工具,我们可以实现自动化代码检查和提交信息验证。

Husky:守护你的 Git 钩子

Husky 是一款 Git 钩子工具,允许我们在 Git 工作流的不同阶段执行自定义脚本。这使我们能够在提交前自动运行代码检查和提交规范检查。

Lint-staged:让你的代码焕然一新

Lint-staged 专注于在提交阶段对代码进行语法和代码风格检查。它确保代码符合团队的编码规范,使审查和合并变得更容易。

Commitlint:捍卫提交规范

Commitlint 负责验证提交信息。它检查是否符合团队制定的提交规范,例如标题的大小写、主体的内容以及标注的存在。

cz-git:友好的提交信息向导

cz-git 提供了一个交互式命令行界面,用于撰写提交信息。它引导用户遵循团队的规范,并确保一致和标准化的信息。

配置你的 Git 提交规范

安装必备工具

使用以下命令安装必需的依赖项:

npm install husky lint-staged commitlint cz-git

配置 Husky

在项目根目录创建 .husky 文件夹,并在其中添加 pre-commit 文件:

#!/bin/sh

npx lint-staged
npx commitlint -e

配置 Lint-staged

创建 .lintstagedrc 文件:

{
  "*.{js,jsx,ts,tsx}": [
    "eslint --fix",
    "prettier --write"
  ]
}

配置 Commitlint

创建 .commitlintrc.js 文件:

module.exports = {
  extends: ['@commitlint/config-conventional']
};

配置 cz-git

创建 .czrc 文件:

{
  "path": "node_modules/cz-conventional-changelog/index.js"
}

使用 Git 提交规范

配置完成后,使用 cz-git 提交代码。它会弹出交互式界面,指导你填写规范的提交信息。不符合规范的信息将被拒绝。

结论

集成 Husky、Lint-staged、Commitlint 和 cz-git 可以轻松实现代码检测和提交规范化。这些工具的协同作用提高了代码质量、可读性和可维护性,从而提升了团队的整体开发效率。

常见问题解答

1. Husky 可以做什么?

Husky 允许你在 Git 工作流的各个阶段执行自定义脚本,例如在提交前运行代码检查或验证提交信息。

2. Lint-staged 有什么好处?

Lint-staged 在提交前对代码进行语法和代码风格检查,确保符合团队规范,使审查和合并更轻松。

3. Commitlint 的作用是什么?

Commitlint 验证提交信息是否符合团队的规范,确保标题大小写正确、主体内容充分、标注存在。

4. cz-git 如何帮助我?

cz-git 提供交互式命令行界面,引导你撰写符合规范的提交信息,提高信息的一致性和标准化。

5. 如何禁用 Git 提交规范?

要暂时禁用提交规范,可以在提交时使用 --no-verify 标志。但是,强烈建议始终遵循团队制定的规范,以保持代码质量和一致性。