前端使用 Commitizen 实现 Git 提交信息规范化管理

619 阅读3分钟

本文介绍了如何使用 Commitizen 工具来简化 Git 提交流程,确保提交信息的规范性和一致性。通过 Commitizen 的引导,开发者可以轻松填写符合团队标准的提交信息,降低错误概率,提高团队协作效率。文章还提供了标准流程和自定义流程的详细配置步骤,帮助读者快速上手。

commitizen

Commitizen 是专为团队设计的发布管理工具。

官网: commitizen-tools.github.io/commitizen/…

npm: www.npmjs.com/package/com…

目的

使用 Commitizen 简化 Git 提交流程。

Commitizen 工具旨在简化约定式提交规范的执行。它通常以 cz-cli 的形式存在,并提供了 git cz 命令来替代传统的 git commit 命令。通过一系列引导问题,Commitizen 帮助开发者填写符合规范的提交信息。

使用 Commitizen 的好处包括:

自动化:减少手动填写提交信息的工作量,降低出错几率。

一致性:确保团队成员的提交信息格式统一,便于阅读和理解。

教育意义:引导新成员快速掌握并遵循团队的提交规范。

安装 & 使用

1. 标准流程

安装commitizen :

pnpm add commitizen --save-dev

安装cz-conventional-changelog,并且初始化cz-conventional-changelog

npx commitizen init cz-conventional-changelog --save-dev --save-exact

package.json 中配置

"scripts": {
  "commit": "cz"
},
"config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } }

使用 commitizen

git add . ``pnpm commit

执行效果图

2. 自定义流程提交说明

使用 cz-customizable

pnpm add cz-customizable --save-dev

修改 package.json

"config": { 
    "commitizen": { 
       "path": "./node_modules/cz-customizable" 
     } 
}

新建 .cz-config.js 进行配置

详细配置地址: github.com/leoforfree/…

module.exports = {
  // 可选类型:提交类型的选项,用于指定提交的类型
  types: [
    { value: "feat", name: "feat:     新功能" }, // 新功能
    { value: "fix", name: "fix:      修复" }, // 修复bug
    { value: "docs", name: "docs:     文档变更" }, // 文档变更
    { value: "style", name: "style:    代码格式(不影响代码运行的变动)" }, // 代码格式变动,不影响代码运行
    {
      value: "refactor",
      name: "refactor: 重构(既不是增加feature,也不是修复bug)",
    }, // 代码重构,既不是新功能也不是修复bug
    { value: "perf", name: "perf:     性能优化" }, // 性能优化
    { value: "test", name: "test:     增加测试" }, // 增加测试或修改现有测试
    { value: "chore", name: "chore:    构建过程或辅助工具的变动" }, // 构建过程或辅助工具的变动
    { value: "revert", name: "revert:   回退" }, // 提交回退
    { value: "build", name: "build:    打包" }, // 打包
  ],
  // 消息步骤:提交信息的提示
  messages: {
    type: "请选择提交类型:", // 提示用户选择提交类型
    customScope: "请输入修改范围(可选):", // 提示用户输入修改范围(可选)
    subject: "请简要描述提交(必填):", // 提示用户简要描述提交内容(必填)
    body: "请输入详细描述(可选):", // 提示用户输入详细描述(可选)
    footer: "请输入要关闭的issue(可选):", // 提示用户输入要关闭的issue(可选)
    confirmCommit: "确认使用以上信息提交?(y/n/e/h)", // 提示用户确认提交信息
  },
  // 跳过步骤:可以选择跳过的步骤
  skipQuestions: ["scope", "body", "footer"], // 默认跳过的步骤
  // subject文字长度限制
  subjectLimit: 72, // subject字段的文字长度限制
};

执行效果图

至此,Git 提交信息的规范化配置已完成。


总结

通过使用 Commitizen,开发团队可以显著提高提交信息的质量和一致性,简化提交过程,并降低错误发生的可能性。无论是通过标准流程还是自定义流程,Commitizen 都能帮助团队成员遵循规范化的提交标准,提高代码库的可维护性和协作效率。本文详细介绍了安装和配置 Commitizen 的步骤,读者可以根据项目需求进行相应调整,实现 Git 提交信息的规范化管理。