なぜコミットメッセージが重要なのか

  • 効率的にコードレビューを行なうため
  • コードの理解およびコードだけでは知ることができない情報を説明するため
  • ソフトウェアに加えられた変更や過去の履歴を追いやすくするため

良いコミットメッセージを書くために

自分なりに意識するポイントを書く

タイトルは命令文で書く

  • 世の中の慣習として命令文でコミットメッセージを書くのが大半なのでそれにあわせる
    • Git の merge や revert などで生成されるコミットメッセージも命令文である
  • https://cbea.ms/git-commit/ の "5. Use the imperative mood in the subject line" のテンプレートはわかりやすい。以下のようなに文章を組み立てたときに自然かどうかで判断できる。

    If applied, this commit will {commit message}.

タイトルでは簡潔に変更の内容を伝える

  • 簡潔であるべきだが省略のしすぎはよくない。最低限どのような変更が加えたれたのかわかるように。
    • 悪い例: Fix bug

本文ではWhyを中心に書く

  • 実装がむずかしい場合はHowについても述べてもよいが、基本的にWhyについて述べるようにする
  • なぜその変更を加える必要があったのかはコードから読み解くのがむずかしい
  • Howについてはインラインのコメントも活用する

絵文字は使わない

  • 個人的な好みと言ってしまえばそうかもしれないが、あまり有効に感じたことがない
  • 理由としては適切なタイトルが設定されていれば、絵文字がなくても十分に内容は伝わるため
  • また、環境によっては絵文字を表示できずにノイズになることもある