git cz

gitcz是gitcommit的增强版,用于规范化提交。安装包括Commitizen和changelog工具,每个项目需单独配置。提交格式为[type](scope):subject,type包括feat、fix等,scope指影响范围,subject描述改动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本质:git cz 相当于是一个对于 git commit 的提交命令的加强版

作用:使 git commit 规范化提交

安装:

第一步:

安装 Commitizen (Commitizen是一个格式化commit message的工具,git cz 是依赖于Commitizen )

npm install -g commitizen

hint:上述安装出错,可尝试通过以管理员身份运行 Windows PowerShell 安装。

第二步:

安装changelog,生成changelog的工具

npm install -g conventional-changelog conventional-changelog-cli

第三步:

在自己的项目目录下进行配置 (配置出现问题可以尝试使用管理员身份运行或者在结尾加上 --force 字段)

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

到这里我们就完成git cz的安装了。第一步和第二步每台设备(台式机,笔记本)只需要操作一次就可以了,第三步每个项目拉取下来都要操作一次。

最后就可以使用git cz代替git commit来提交专业的commit了。


使用

commit message 提交后的记录格式如下

<type>(<scope>): <subject>
//例:<feat>(all): 修改baseurl

提交时用git cz 出现如下:

// 其中 type 的值可以有
# .feat: 新功能
# .fix: 修复bug
# .doc: 文档改变
# .style: 代码格式改变
# .refactor: 某个已有功能重构
# .perf: 性能优化
# .test: 增加测试
# .build: 改变了build工具 如 webpack换成了vite
# .revert: 撤销上一次的 commit

选择好了<type> 之后,需要描述<scope>此次修改的影响范围

// scope: 用来说明此次修改的影响范围
# all: 表示影响面大,如修改了网络框架,会对整个程序产生影响
# component: 修改了组件
# module: 表示会影响某个模块 如登录模块、首页模块、用户管理模块等等
# 文件名: 修改了某个文件

然后再添加<subject> 用来简要描述本次改动

# subject: 用来简要描述本次改动,如果是bug最好带上相应的bug编号

然后其他的可以按 enter 健忽略就行!

拓展:

git cz是什么?

git cz 是一个命令行工具,通常用于替代 git commit。它通过交互式命令行界面(CLI)来引导用户完成提交信息(commit message)的编写,从而帮助用户编写更清晰、更结构化的提交信息。

git cz 通常与 Husky 和 Commitizen 配合使用。Husky 是一个 Git 钩子管理工具,而 Commitizen 是一个用于标准化提交信息的工具。通过 Husky,你可以在执行 git commit 时自动运行 git cz,从而确保每次提交都有符合规范的提交信息。

使用 git cz 的好处包括:

  1. 标准化提交信息:通过提供预定义的提交类型和范围,git cz 可以帮助团队遵循一致的提交信息格式,从而提高代码库的可读性和可维护性。
  2. 自动检查提交信息:在提交信息编写过程中,git cz 可以自动检查提交信息的格式和内容,确保它们符合预定义的规范。
  3. 生成变更日志:一些工具(如 Conventional Commits)可以解析符合规范的提交信息,并自动生成变更日志(changelog),从而简化文档维护工作

类似于git-cz的工具还有哪些?

类似于 git-cz 的工具,它们的主要功能是帮助开发者遵循某种提交信息规范,并且通常与 Git 集成以确保团队成员之间的代码提交保持一致性。以下是几种常见的替代品或相关工具:

1. Commitizen

  • 简介:正如你提到的 git-cz 是 Commitizen 的一个命令别名,它本身就是一个用于标准化提交消息的工具。
  • 特点:通过交互式命令行界面引导用户输入符合特定规则(如 Conventional Commits)的提交信息。

2. Husky + Commitlint

  • 简介:这是一个组合工具,Husky 用来设置 Git hooks,而 Commitlint 则负责验证提交信息是否符合预定的格式。
  • 特点:可以自定义规则来检查提交信息,并且可以在提交前自动运行这些检查,从而保证所有提交都遵循相同的风格。

3. semantic-release

  • 简介:这个工具不仅管理提交信息格式,还能够根据提交的内容自动发布新版本和生成变更日志。
  • 特点:完全自动化版本控制和发布流程,适用于那些希望减少手动干预并实现 CI/CD 流程自动化的项目。

4. cz-customizable

  • 简介:这是 Commitizen 的一个可定制版本,允许更灵活地调整问题模板和答案处理逻辑。
  • 特点:提供了更多的自定义选项,适合有特殊需求或者想要微调交互过程的团队。

5. commitizen-adapters

  • 简介:为不同的 Git 客户端提供适配器,使得 Commitizen 可以在各种环境中使用。
  • 特点:提高了工具的兼容性和易用性,特别是对于那些不习惯命令行操作的开发者来说非常有用。

6. cz-conventional-changelog

  • 简介:这是 Commitizen 的默认适配器之一,专门用于创建符合 Conventional Changelog 规范的提交信息。
  • 特点:简化了基于惯例的历史记录维护,有助于更好地管理和理解项目的演化历史。

7. Gitmoji-cli

  • 简介:结合了表情符号和提交信息的传统文本描述,使提交更加生动有趣。
  • 特点:支持使用 Emoji 表情作为提交信息的一部分,增加了沟通的趣味性和直观性。

8. Conventional Commits CLI

  • 简介:直接实现了 Conventional Commits 标准的一个命令行工具。
  • 特点:简单直接,专注于确保提交信息符合该标准的要求。

选择合适的工具取决于你的具体需求、团队的工作方式以及对提交信息格式的具体要求。例如,如果你需要高度定制化的提交流程,可能会倾向于选择 cz-customizable;而如果你更关注于自动化版本管理和发布,则 semantic-release 可能更适合。 

参考链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零凌林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值