はじめに
gitのコミットメッセージをどう表現するかで迷うことが多々あります。
チームによってざっくりと指針が決まっているものの、明確ではない場合も多いのではないでしょうか?
私自身fix:
chore:
feat:
などの接頭辞を使って書くことが多いですが、それぞれの接頭辞の意味を毎回ググっている気がします。特に chore:
...
そんな悩みを Commitizenを使って解決したのでその備忘録として記します。
対象
もう実装は終わっているのに。。。なぜコミットするだけなのに。。。ここでこんなに時間を使わないといけないの。。。といった悩みを持っている方。
Commitizenとは?
CLIを使って対話的にコミットメッセージを作ることができます。
コミットメッセージのルールは angular.js
のコミットガイドラインが元になっているそうです。
コミットメッセージのフォーマット
コミットメッセージのフォーマットは以下のようになっています
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
対話の内容
一つ一つ答えていくと
こんな感じのコミットメッセージが出来上がります。
インストール
ローカルにインストールすることもできますが、今回はグローバルにインストールします。
$ npm install commitizen -g
$ npm install -g cz-conventional-changelog
$ echo '{ "path": "cz-conventional-changelog" }' >> ~/.czrc
$ exec $SHELL -l
以上のコマンドで簡単にインストールでき、
$ git cz
このコマンドでcommitzenがスタートします。
日本語化
日本語化もできるそうなのでお好みで設定してみてください。
https://www.npmjs.com/package/cz-conventional-changelog-ja