わかりやすいコミットメッセージの書き方
会社ごとにルールがあるなーとは思ってたんですが、
個人開発をするにあたって気になったので、調べてみました。
そしたら、めちゃくちゃわかりやすくて感動した記事があったので、
メモとして書いておきます。
コミットメッセージの書き方
コミットメッセージは、
以下の5つのパーツで構成すると良いらしいです。
【コミットメッセージ】
Type:コミットの種類
Scope:コミットの範囲
Subject:コミットの題名
【コミットメッセージの詳細】
Body:コミットの本文(記載なしでもOK)
Footer:コミットのフッター(記載なしでもOK)
コミットメッセージ例:
feat(item): add good and bad button
上記は、アプリケーションにおける
「商品(item)の新機能追加で、グッド/バッドボタンを追加した」
という内容になります。
Type
コミットの種類を書きます。
題名の冒頭に書きます。
コミットの種類には以下の種類があるらしいです。
自分でルールを作っても良さそうですが、以下をベースにするのが良さそうです。
feat: 新機能
(The new feature you're adding to a particular application)
fix: バグ修正
(A bug fix)
style: フォーマッティングやスタイルに関する修正
(Feature and updates related to styling)
refactor: リファクタリング
(Refactoring a specific section of the codebase)
test: テスト関連
(Everything related to testing)
docs: ドキュメント関連
(Everything related to documentation)
chore: 定期のコードメンテナンスなど
(Regular code maintenance.[ You can also use emojis to represent commit types])
(引用元:How to Write Good Commit Messages: A Practical Git Guide)
これで、コミットの種類を明示します。
Scope
変更を加えたことによって、影響を受ける範囲を記載するみたいですが、
大抵は修正した機能名を記載するで良さそうです。
Subject
シンプルに何をしたかを書きます。
修正の端的な説明になります。
また、題名には句読点(ピリオドや丸など)はつけません。
英語で書く際は、命令形で書きます。(動詞スタートです。)
頭文字を大文字にするか、小文字にするかは人の好みのようです...
Body
本文には、どういった修正を行ったかと、
なぜその修正を行ったかを書きます。
(理由は明確に書きましょう、レビュー担当者が全て理解しているとか、自分のコードが明快だと思わないこととありました...そうですね......)
書く時は、最初に空行を入れること。
また、パラグラフの文頭は大文字にすること(英語の時だけですね)とありました。
Footer
コミットの修正で影響があるissueを参照します。
例えば#333のissue解決のためのバグ修正なら、
Resolves: #333
といった感じでかきます。
以下の記事を参考にしました。
Discussion