commitizen和cz-customizable配置git commit message

Posted startoverx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了commitizen和cz-customizable配置git commit message相关的知识,希望对你有一定的参考价值。

起因

团队对提交的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-customizablecz-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.jsbuildCommit.js

buildCommit.js中生成最终commit message:
技术分享图片

questions.js中message配置部分:
技术分享图片



以上是关于commitizen和cz-customizable配置git commit message的主要内容,如果未能解决你的问题,请参考以下文章

commitizen

如何在使用“npx git-cz”时定义Commitizen适配器?

commitizen和cz-customizable配置git commit message

commitizen -- git cz

适用于命令行和 Intellij 的 lint-staged + commitizen 配置

Commitizen使用