本质: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
的好处包括:
- 标准化提交信息:通过提供预定义的提交类型和范围,
git cz
可以帮助团队遵循一致的提交信息格式,从而提高代码库的可读性和可维护性。 - 自动检查提交信息:在提交信息编写过程中,
git cz
可以自动检查提交信息的格式和内容,确保它们符合预定义的规范。 - 生成变更日志:一些工具(如 Conventional Commits)可以解析符合规范的提交信息,并自动生成变更日志(changelog),从而简化文档维护工作
参考链接:
-
cz-cli - cz工具
-
cz-customizable - cz适配器
-
commitlint - cz校验工具
-
commitlint-config-cz - cz校验工具的校验规则
-
validate-commit-msg - cz校验工具
-
conventional-changelog - cz日志生成器
-
commit_msg - git钩子文档