手把手教你如何使用Commitizen规范化提交代码
一、前言
一般团队中都是使用 git
来做版本管理,结合 Eslint
+ Prettier
这样的工具可以使得代码按照约定好的规则规范起来,最后在提交到 git
仓库中。提交到仓库的 commit
信息最好也要规范起来,不然其他人在阅读提交记录时也会非常头疼,就像下面这种情况一样:
对于 git
提交规范来说,不同的团队可能会有不同的标准,推荐目前比较流行的 Angular 团队规范延伸出的Conventional Commits specification(约定式提交) 。
约定式提交规范要求如下:
<type> [optional scope]: <description>
[optional body]
[optional footer(s)]
翻译过来就是:
<类型> [可选 范围]: <描述>
[可选 正文]
[可选 脚注]
举个栗子:
但是有个问题是,如果每次 commit
都这么写,着实有点痛苦,比较麻烦。所以就诞生了Commitizen这样的工具,只需要使用 git cz
命令代替 git commit
就可以帮我们书写 commit
信息,非常强大!
二、准备
开始前,需要做一些准备,使用 git init
和 npm init -y
初始化一个 git
管理以及 npm
的项目:
然后全局安装 commitizen
npm install - g commitizen
在 commitizen-demo
文件夹中安装 cz-customizable
npm install cz - customizable--save - dev
新建 .gitignore
文件,防止将 node_modules
文件提交:
最后,项目目录结构如下:
三、Commitizen 提交配置
和 Eslint
、 Prettier
工具一样, commitizen
在工作前,也需要进行配置。
添加以下配置到 package.json
中:
在根目录下创建 .cz-config.js
文件,因为 commitizen
是符合 CommonJS
规范的,所以需要通过 module.exports
导出配置:
根据约定式规范提交要求,我们先配置 types
,该属性是我们提交 commit
时的类型:
然后配置步骤,步骤是为了告诉 commitizen
如何提交,简单来说就是第一步要什么,第二步要输入什么……:
最后,可以约束一下文字的长度(看团队需求),比如 subject
约束文字长度为: 72
:
更多配置项可以参考官网,这里不过多赘述。
四、实战
完成配置后,我们来试下效果,创建一个 README.md
文件,然后使用 git cz
命令提交代码:
可以看到,控制台输出了对应的类型选择,这里选择新功能,回车下一步:
输入修改范围,回车下一步:
下面的步骤依次输入完,如果没有可以按回车跳过,最后输入 yes
确认:
输入 git log
查看提交记录:
这样,一个标准的 commit
信息就提交了。
五、查看 changeLog
有时候,我们想要查看 commit
的 change log
信息,可以使用工具 conventional-changelog
在项目安装 cz-conventional-changelog
和 conventional-changelog-cli
npm install conventional - changelog conventional - changelog - cli--save - dev
在 package.json
增加脚本信息:
运行脚本:
npm run git: log
就可以看到刚才提交的 commit
信息了
六、总结
commitizen
已经是目前作为 git
提交规范中最优秀的工具之一了。在团队开发中,一般结合 Eslint
和 Prettier
工具一起使用,养成良好的代码规范是每个程序员的必修课!
七、参考
关注我们
大家的支持是我们继续前进的动力,快来关注我们深信服前端团队吧~
同时,如果对我们感兴趣的话,欢迎加入我们,投递简历到 uedc@sangfor.com.cn
。
转载自:https://juejin.cn/post/7098882036529643550