之前做过一篇关于如何处理commit信息的博客,但是还缺少一种规范和自动化处理的东西在里面,这篇将会引入commitizen和husky,旨在提升commit信息的可阅读性以及工程化处理的便利性。
Commitizen
安装配置
npm install -D commitizen cz-conventional-changelog
开发环境安装依赖,安装后在package.json
中写入npm script
和cz-conventional-changelog
配置。
1 | "scripts": { |
使用
配置完毕后,我们键入npm run commit
应当有下面这个交互界面:
其实这里的交互有点像git rebase
,不过实际上只是遵照参考规范用于格式化我们的commit
信息罢了。那这个参考规范指的是什么呢?前文中我们安装的是Angular
团队进行commit
提交的参考规范,具体内容可以看传送门。
现在我们提交当前这篇博文的第一部分:
推到远程仓库后:
更新部分内容再推送:
自定义规范
前文使用的是Angular
的提交规范,那假如我们想自己整个怎么办呢?
我们可以安装cz自定义配置的依赖npm i -D cz-customizable
,然后修改package.json
内的config
项。把前文指向cz-conventional-changelog
的path
替换为cz-customizable
。
1 | "config": { |
最后在项目根目录创建.cz-config.js
,内容就是我们自定义的东西。官方提供了一个模板,对着改就完事了~