Gitコミットメッセージの7大原則

タイトルは大げさです。割と当たり前の話です。
 
ハードディスクの整理中にRailscastsのメモが出てきまして
懐かしいなぁ、 Ryan Bates(@rbates)さん 元気かなぁと
Twitterを覗いてみたところ

なかなか興味深い記事をtweetされていました。
Git の commit messageに 規律をもたらそうぜ、ってのは
どうやら日本人だけじゃないようです。

元記事( How to Write a Git Commit Message )

 

Introduction

著者の過去と現在のcommit logを対比しています。
一貫して、この緑と赤の対比が見やすいので、記事も読みやすいです。
 
また、参考になるprojectとして以下をあげています。
Commits · torvalds/linux
Commits · git/git
Commits · spring-projects/spring-boot
Commits · tpope/vim-pathogen
おおさすがtpope先生や、とかgitのcommit log見てみると、
hamanoさんが管理されてるんですね、すごいですね
とか見ていて盛り上がってきたので最後まで読んでしまいました。
最後に、コマンドライン使おうぜとかPro Gitの紹介がされていて、Pro Git 読みたくなってきました。

7大原則

自分は文字数以外はだいたい意識してます。
「7」はコミットログよりticketに書いてる方が多いです。
コミットログに記載するようにした方がいいですね。
あと、「5」の命令形の説明がなかなか分かりやすいです。
 

1. subjectとbodyは1行あけましょう

Separate subject from body with a blank line
これは言わずもがなですが、git logや他のサブコマンドを例に説明してくれています。

2. subjectは50文字以内にしましょう

Limit the subject line to 50 characters
githubでは長かったら(69文字まで表示)...で省略されるのは、皆知っていると思うのですが
githubのwebで直接commitする際に50文字を越えると、下記メッセージが出力されるんですって。

ProTip! Great commit summaries are 50 characters or less. Place extra information in the extended description.

3. subjectの1文字目は大文字にしましょう

Capitalize the subject line

4. subjectにperiodは不要です

Do not end the subject line with a period

5. subjectは命令形にしましょう

Use the imperative mood in the subject line
commit logの前に「If applied, this commit will」をつけて、
しっくりくるかどうかを確認する例文が分かりやすかったです。

6. bodyは1行あたり72文字以内にしましょう

Wrap the body at 72 characters

7. howよりwhatやwhyをbodyに記述しましょう

Use the body to explain what and why vs. how
Bit coin のcommit logを例にしています。
ちゃんと書かれてますね。 どうやって修正したかというのは、コード見れば分かるはずなので
理由について書きましょうということ。