F
章節導航

如何寫 Git Commit?

Elog2 分鐘閱讀
核心精華與要旨 (TL;DR)

我常把提交資訊當作一條會被海風帶去遠處的簡訊。它不是寫給今天的自己,而是寫給某個尚未抵達的你——在某個雨夜、某個凌晨、某個“為什麼會這樣”的時刻。好的 commit,不是炫技,而是讓歷史能被讀懂,讓故事能被追溯。

1) 先拆問題,再寫句子

一個提交只說一件事。
如果你發現自己在寫“並且”“同時”,就說明應該拆成兩個提交。

2) 用動詞開頭,告訴未來“發生了什麼”

推薦格式(常見且清晰):

feat: add terminal command panel
fix: correct blog tag filter
style: tighten spacing in post header
chore: update dependencies
  • 動詞指向動作:add / fix / improve / remove / update
  • 物件指向範圍:terminal / blog / docs / config

這是一種小小的秩序,像把石頭排成一條能回家的路。

3) 保持簡短,但不含糊

壞例子

update
fix bug
changes

好例子

fix(posts): avoid toc crash on empty headings
feat(blog): add pinned section to index

一句話應該能回答:改了什麼?為什麼改?

4) 需要時加上“原因”

當改動背後有風險或背景時,我會在提交裡寫清楚原因:

fix(nav): prevent sidebar overflow on small screens

The drawer was clipping content on iPhone SE.

這不是贅述,是給未來的自己準備的證詞。

5) 讓它能被檢索

如果你的專案會生成變更日誌,或者需要自動釋出,建議遵循約定式提交:

feat(scope): summary
fix(scope): summary

這樣你的歷史不只是回憶,還能被機器理解。

6) 最後讀一遍:它能否獨立成句?

我會在提交前對著句子讀一遍:

“feat: add terminal command panel”

它像一條路標。有人在夜裡路過時,也許會憑它找到方向。


寫 commit 其實是一種溫柔的紀律。
當你願意在每次變化之後寫上一句清楚的話,Git 就會替你把那些喧鬧的日子整理成一條可讀的時間線。
而你終會在某個未來的夜晚,感謝那個願意認真寫 commit 的你。

宸極
宸極 先生

專精於太乙神數與高階術數之學。致力於以條理化與邏輯化的學術視角,為高階人士與企業主提供天時大運與局勢研判。