Gitでコミットメッセージを記述する際のルール

本格的にGitを使い始めて5ヶ月が経った。Gitのコミットメッセージのルールについて覚えたことがあったので軽くメモ。
 

コミットメッセージを記述する際のルール

職場の環境や社内ルールによって異なるかもしれないが,Gitのコミットメッセージの書き方には,大きく以下の4つのルールがある。
 

  • 現在時制でコミットメッセージを書く
  • 1行目には変更内容の要約を書く
  • 2行目は空行にする
  • 3行目以降には本文を書く

 
以下より,これらのルールについて説明する。
 

現在時制でコミットメッセージを書く

コミットメッセージでは,現在時制を使わなければならない。例えば,”Fixed bug”ではなく,”Fix bug”にする。
理由は,git merge や git revert のようなコマンドが生成したコミット
メッセージでは現在時制しか使われない為である。この記法に合わせることで,全体としての調和を保つことが出来る。
 

1行目には変更内容の要約を書く

1行目には変更内容の要約を書き,長過ぎても70文字以内に収める。このようにする理由は,以下の2つがある。
 
1つ目は,git log はコミットメッセージに対して,折り返しをしてくれない。デフォルトのページャである less -S では,これは文章が画面外に飛び出してしまうことを意味し,読み辛くなってしまう。横幅80文字のターミナルでは左側のインデントのために4文字引き,右側も釣り合うよう4文字引くなら,残されたのは72文字である。
 
2つ目は,1行目の要約が71文字以上だとGithubで見たときに省略されてしまう為である。
 
なるべく50文字以内に収めることを目指すのが良いようだ。一緒に働いているパイオニアの言葉を借りて言えば,「変更の要約が見辛いということは主張が簡潔でない,つまりコードが簡潔でないということになりがちだから」である。
 

2行目は空行にする

git format-patch –stdout というコマンドでは一連のコミットをe-mailに変換し,メール本文にコミットメッセージを使用する。
最初の行はE-Mailの件名になり,残りのテキストが本文になる。空行で本文と要約を分離するのは絶対に必要だ(本文を省略していない限り)。
もしも二つを繋げてしまうと, git rebase のようなツールが混乱する可能性がある。
 

3行目以降には本文を書く

3行目以降には,1行目に書いた要約について詳しく説明するような文章を書く。この場合も,72文字を超えないように折り返して記述する。
 
 
以上
 
 
参考
見えないチカラ: 【翻訳】Gitのコミットメッセージに関する注意点
tbaggery – A Note About Git Commit Messages

Article written by

コメントを残す