🐛

【Git】コミットメッセージにPrefixをつけてわかりやすくしよう!

はじめに:コミットに「魂」を込めよう!✨

開発をする上で、コードに変更をしたとき、その変更内容を記録します。その際、「コミットメッセージ」というものを書きますね!
このコミットメッセージは、その変更内容を他の人に伝えるためにも使われます。
そのため、コミットメッセージは他の人が見てもわかりやすいように書くことが大切です。
 
「コミットメッセージ?そんなの適当でいいでしょ。」と思ったそこのあなた。
未来のあなた、そしてチームメイトがコミット履歴を見たとき、何を感じるでしょうか? 「Fix done」とだけ書かれたメッセージの山を見て、困惑する顔が目に浮かびます…。👻
 
自分の職場には、最近コミットメッセージをよりわかりやすくするために、Prefixをつけるようになりました。その内容について本記事では紹介します!

Prefixとは:コミットメッセージに「肩書き」を!

Prefix(プリフィックス)は、コミットメッセージの「先頭に付けるラベル」のことです。 コミットメッセージの冒頭につけることで、そのコミットの内容をわかりやすくするためのものです。
例えば、会社やイベントの名札を思い浮かべてください。 「営業部の田中さん」「デザイナーの鈴木さん」みたいに、役割がわかるだけで話しかけるハードルがぐっと下がりますよね? コミットも同じ!履歴を見返すとき、「バグ修正したやつどれだっけ…」と迷子にならずに済むのです。
例えば、以下のようなPrefixがあります。
fix: 🐛 → 「バグ修正」 feat: 🎸 → 「新しい機能を追加」 docs: ✏️ → 「ドキュメント更新」
これらのPrefixをつけることで、コミットが「何をしたのか」一目でわかるようになり、 履歴を見返すときに「どのコミットがどの対応をしたの?」と迷うことがなくなります!
他のPrefixについては以下サイトを参考にしてください!

🐛 なぜバグ(bug)は虫なの?

ところで、「fix: 🐛」の絵文字を見て、「なぜバグが虫?」と疑問に思った人もいるかもしれません。 実は、この由来は1940年代のコンピュータ開発時代にさかのぼります。
当時、ハーバード大学の研究チームが使っていたリレー式コンピュータ「Mark II」で、 プログラムがうまく動かない問題が発生しました。調査したところ、原因はなんとリレーに挟まった本物の蛾だったのです! この蛾を取り除いてプログラムを修正したことから、コンピュータの不具合を「バグ(虫)」と呼ぶようになりました。
そして今では、「バグ修正」を表す絵文字として、この🐛が使われるようになったというわけです!

git cz導入方法

ここでは、コミットメッセージをわかりやすくフォーマットするためのツール「git cz (Commitizen)」の導入方法を説明します。
手順はシンプルなので、落ち着いて進めていきましょう!💪 ※すでにgitはインストールできている前提です。

1. をインストールする

まずはをグローバルにインストールします。
以下のコマンドをターミナルで実行してください:

2. 設定ファイルを作成する

次に、という名前の設定ファイルを作成します。
このファイルは「コミットメッセージの形式」や「使用するPrefix」を定義するためのものです。

2-1. Windowsの場合

  1. 設定ファイルの作成
    1. PowerShellまたはコマンドプロンプトで以下のコマンドを実行します:
  1. 環境変数の設定
    1. PowerShellを使って以下を実行し、設定ファイルのパスを登録します:

 

2.2 Macの場合

  1. 設定ファイルの作成
    1. ターミナルで以下を実行してください:
  1. 環境変数の設定
    1. 次に、環境変数を登録します:

3. 設定ファイルの内容を記述する

最後に、に以下の内容を記述します:
これで設定は完了です!次の章で使い方を見ていきましょう!🎯

Prefixの使用方法

ここまででインストールと設定が完了しました!
それでは、実際にを使ってコミットメッセージを作成してみましょう。

1. コマンドを実行する

通常のコマンドの代わりに、以下を実行します:
すると、対話形式でコミット内容を入力する画面が表示されます。

2. 質問に答える

は、以下のような質問を順番にしてきます。それぞれに答えることで、コミットメッセージが自動で生成されます。
  1. タイプの選択
      • 変更内容に応じて、以下の中から適切なタイプを選びます:
        • → 新しい機能の追加
        • → バグ修正
        • → ドキュメント更新
        • ほかにもなど、設定したオプションが表示されます。
  1. 簡潔な説明を入力
      • コミット内容を一言で説明します(例: )。

3. コミットメッセージが生成される

質問に答え終わると、自動的に以下のようなフォーマットでコミットメッセージが作成されます:
これでコミット完了です!🎉 他にも対応があれば再度を実行して、コミットメッセージを追加していきましょう。 その後、でリモートリポジトリにプッシュしてください!
以上で、の基本的な使い方は完了です!
この方法を使えば、チーム全体で統一されたわかりやすいコミット履歴が作れるようになります。ぜひ活用してください!💡

5. Prefixをつける前後のコミットメッセージの違い

ここでは、を使う前と後のコミットメッセージの違いを見てみましょう。
「わかりやすいコミットメッセージ」の力を体感してみてください!

悪い例:Before 😢

これを見て、「何を直したの?」「どんな機能を追加したの?」と疑問が次々湧いてきますね。
未来の自分やチームメイトは困惑すること間違いなしです…。

良い例:After 🎉

を使うと、コミットメッセージがこんなにわかりやすくなります:
Prefixと明確なコミットメッセージが追加されたことによってそのコミットでどんな対応をしたのか明確に自分やチームメイトに伝わるようになりました!
 

6. まとめ

チーム内でPrefixを使用して、以下のメリットを感じました!

1. コミット内容が一目でわかる

Prefixを使うことで、変更の種類が一目でわかるようになります。 「これはバグ修正なのか?」「新しい機能の追加なのか?」と言った疑問が即解決! 新規メンバーが見ても理解しやすい履歴を作ることができますね。

2. 自然とコミットの粒度が整う📏

Prefixを使用することで、「この変更は何に分類されるのか」考えるようになるため、コミットの粒度が自然と細かく整ってきます。 結果として、履歴を追いやすく、コードレビューもしやすい環境が整います。 チーム内でコミットメッセージの粒度が統一されるため、コードの品質も向上することでしょう!

3, Commitが楽しくなる🎉

絵文字付きのPrefixを使うことで、コミット履歴がカラフルになります! ちょっとした工夫ですが、エンジニアのモチベーション向上に効果抜群です🌈
エンジニアもウェルビーイングに!楽しく開発することが重要ですからね!
 
興味のある方は、ぜひチームでPrefixを導入してみてください!
最後まで読んでいただきありがとうございました!