本文介绍了如何使用 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 提交信息的规范化管理。