章節導航
如何寫 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 的你。
宸極
宸極 先生
專精於太乙神數與高階術數之學。致力於以條理化與邏輯化的學術視角,為高階人士與企業主提供天時大運與局勢研判。