Open2

良いコミットメッセージの書き方

voluntasvoluntas

良いコミットメッセージの書き方

良いコミットメッセージには、少なくとも3つの重要な目的があります。

  • レビュープロセスをスピードアップする。
  • 良いリリースノートを書くのに役立ちます。
  • 5年後の未来のErlang/OTPのメンテナ(あなたかもしれません!)が、なぜコードに特定の変更が加えられたのか、なぜ特定の機能が追加されたのかを知るのに役立ちます。

コミットメッセージは以下のように構成しましょう。

From: https://git-scm.com/book/ch5-2.html

変更点の短い(50文字以内)要約

必要に応じて、より詳細な説明文を。 72文字程度にまとめます。 文脈によっては、1行目がメールの件名、残りの部分が本文として扱われることもあります。 要約と本文を分ける空行は非常に重要です(本文を完全に省略する場合を除く)。リベースなどのツールで2つを一緒に実行すると混乱することがあります。

空白行の後にはさらに段落が続きます。

  • 箇条書きでも構いません。
  • 一般的には、ハイフンまたはアスタリスクを箇条書きにし、その後にスペースを1つ入れ、その間に空行を入れますが、ここでは慣例が異なります。
  • ハンギングインデントの使用

DO

  • まとめの行とやったことの説明は、誰かに命令するような命令形で書きます。行頭には、「Fixed」、「Added」、「Changed」ではなく、「Fix」、「Added」、「Change」をつけます。
  • 2 行目は必ず空白にします。
  • コミットメッセージを改行する(gitkで横にスクロールしなくてもコミットメッセージが読めるようにするため)。

DON'T

これはタイトルであり、タイトルはピリオドで終わるものではありません。

ヒント

コミットの内容をまとめるのが難しい場合は、いくつかの論理的な変更やバグ修正が含まれていて git add -p で複数のコミットに分割したほうがよいことが考えられます。

参考文献

コミットメッセージについては、以下のブログ記事が参考になります:
"On commit messages":https://who-t.blogspot.com/2009/12/on-commit-messages.html

Vim プラグインで有名な Tim Pope 氏がコミットメッセージについて語っています:
"A Note About Git Commit Messages":https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html