起因
我们看一些正规项目的git提交记录,比如vue3的:
每条git log
都是一个单词
+冒号
+描述
的方式,并且生成的CHANGELOG.md也很正规化的样子:
怎么实现的呢?
看一下package.json中关于changelog
的操作:
所以是通过conventional-changelog
实现的,猜测就是根据之前git log
中的单词
生成漂亮的changelog。
那么之前的有格式的git log
是如何写出来呢,虽然可以每次都手动写,但总有点麻烦。
果然,搜索一下就有结果,使用工具commitizen
。
比如阮一峰的这篇Commit message 和 Change log 编写指南,说得就比较清楚。
但是,看起来需要在每个git项目下面都运行一下:
commitizen init cz-conventional-changelog --save --save-exact
不仅比较麻烦,还会修改每个项目的packages.json
文件,并且非nodejs
项目也不支持这样用啊。
肯定是有全局解决方案的。
解决方案
全局安装
npm i -g commitizen cz-conventional-changelog
编辑commitizen
的配置文件~/.czrc
:
{
"path": "cz-conventional-changelog"
}
这样每次git commit
操作都用git cz
替代,向导模式提交,相当方便。