How to Write a Git Commit Message - nycu-xuan/FastShop GitHub Wiki

The seven rules of a great Git commit message

一個 commit message 由標題 (subject) 和內文 (body) 組成。

  1. 標題和內文之間應該空一行
  2. 標題的長度不應該超過 50 個字元
  3. 標體的開頭應該大寫
  4. 標題的結尾不應該加上句號
  5. 標題應該使用祈使 (imperative) 語氣
  6. 內文每行不應該超過 72 個字元
  7. 內文應該解釋做了什麼或為什麼這麼做,而不應該解釋如何做到

1. 標題和內文之間應該空一行

git log --onelinegit shortlog 等檢視工具能簡潔地顯示出標題。

2. 標題的長度不應該超過 50 個字元

必須少於 72 個字元。

過長的標題會讓 GitHub 無法完全顯示,同時很可能代表這次 commit 做了太多事情。

3. 標體的開頭應該大寫

約定成俗。

4. 標題的結尾不應該加上句號

結尾的句點並不會提升任何可讀性,且佔用寶貴的字元空間。

5. 標題應使用祈使語氣

講重點。Git 本身也使用祈使語氣,如 Merge branch 'feature'

有個快速的檢驗方式,標題應該要能放入以下句子中:

  • If applied, this commit will your subject line here.

如 If applied, this commit will remove deprecated methods.

6. 內文每行不應該超過 72 個字元

讓 Git 在顯示內文時即使有縮排調整,也能保持在 80 個字元以下,不需要被強制換行。

7. 內文應該解釋做了什麼或為什麼這麼做,而不應該解釋如何做到

解釋「如何做到的」是程式碼的工作。

內文用來闡明此次改變的原因、和原先的做法有什麼不同,以及是否對其他部分造成了影響。


參考自 CBEAMS: How to Write a Git Commit Message