起因
团队对提交的commit message格式有约定俗称的要求,但是没有一个统一的规范,导致大家提交的commit message或多或少不太一样。因此,需要一个工具来帮助大家统一commit message的格式,也方便后续的分析和拓展。
commitizen
commitizen 是一个帮助规范commit message的工具。安装后的效果如下图:
安装commitizen
npm install -g commitizen
安装adapter
commitizen根据不同的adapter
配置commit message。例如,要使用Angular的commit message格式,可以安装cz-conventional-changelog
。
npm install -g cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
现在,进入任何git repository, 使用git cz代替git commit提交commit。
cz-customizable
cz-customizable和cz-conventional-changelog
一样,也是commitizen的adapter,不过支持一定程度上的自定义。
npm install -g cz-customizable
echo '{ "path": "cz-customizable" }' > ~/.czrc
接着,在home目录下创建 .cz-config.js 文件,根据node_modules/cz-customizable/cz-config-EXAMPLE.js
配置git cz时弹出的message和对应的输入或者选项。
如果想要进一步进行配置,直接修改node_modules/cz-customizable
下的questions.js和buildCommit.js。
buildCommit.js中生成最终commit message:
questions.js中message配置部分: