🌵

git-czがemoji prefixに対応していたので使ってみた

2022/09/23に公開

はじめに

以前からコミットメッセージをフォーマット化したい・emoji prefixをやってみたいと考えており、調べてみるとgit-czが使いやすそうだったので導入してみました。
結果、コミットがかなり楽に、しかも楽しくなったので紹介します💡

https://github.com/streamich/git-cz


インストール

Terminal
# グローバルインストール
npm install -g git-cz

※特定のリポジトリにローカルインストールすることもできます。


使ってみる

使い方は、コミット時にgit czコマンドを叩くだけ!
その後は対話形式で進んでいきます。

ファイルの変更内容の種類選択からスタート

Terminal
# コミットメッセージを入力
? Write a short, imperative mood description of the change: 
[-------------------------------------------------------------] 64 chars left

# 詳細がある場合は入力
? Provide a longer description of the change:

# 破壊的な変更を含む場合は入力
? List any breaking changes
  BREAKING CHANGE:
  
# このコミットでクローズするGitHub issueがあればissue番号を入力して完了
? Issues this commit closes, e.g #123:

カスタマイズ

このままでも十分便利なのですが、人によっては英語に抵抗があったり、選択するコミットのタイプを変更したいと感じるかと思います。
git-czの優れている点は、コミットメッセージのフォーマットのカスタマイズが可能なところです。
絵文字を変えたり、表示言語を日本語に置き換えたり、質問を減らすなどができます。


手順

  1. 任意の場所にchangelog.config.jsファイルを作成する
  2. 公式リポジトリにあるREADME内のコードをコピペ
  3. カスタマイズ

https://github.com/streamich/git-cz/blob/master/README.md#L62-L138

READMEには記載がありませんが、issueクローズのprefixやテキストを変更するオプションなどもあるようです。

https://github.com/damusix/git-cz/blob/0423602d21644add3ec01bfad8ec054d373b39c4/lib/defaults.js#L82-L84

かなり柔軟にカスタマイズできますね!
私のカスタマイズ内容はGitHub Gistにアップしました。よかったら覗いてみてください。

https://gist.github.com/marigotten/3b6f22ee79a3d666d2df020c1df94015


感想

git-czを導入して、

  1. 適切なコミットの粒度やメッセージ内容を意識するようになった。
  2. prefixの入力の手間が省ける。入力忘れを防ぐことができる。
  3. チーム開発で統一性のないコミットメッセージの発生を防ぐことができる。
  4. prefixに絵文字を導入することで、コミットやログの確認が楽しくなった。

などのメリットが生まれました。

普段SourcetreeなどのGUIを使っている人にとっては抵抗があるかもしれませんが(私もそうでした)、直感的な操作で非常に使いやすいです。VSCodeで使える点も魅力です。
コミットメッセージの入力に迷いがちな方、(emoji)prefixが気になっている方の参考になると幸いです!

Discussion