前言
以前在開發的時候,總覺得沒有人會去看 git commit 的訊息,所以總是想寫什麼就寫什麼。
雖然都會標記一下[類型]:新增功能、刪除…之類的,但是真的超陽春。
直到最近,開始幫人家 Review code,才渴望人家的 Commit Message 可以留完整一點給我!
真心建議大家,早點培養起 commit message 良好習慣就越好!
Better git commit message
為什麼應該要學習更好的 commit message 撰寫?
第一步,打開手邊的專案並且查看 git log。
我相信絕大多數的人,肯定看不懂六個月前自己的 commit 到底對哪裡進行調整、原因是為什麼。
在你的 Coding 生涯中,或多或少有遇過沒有程式碼註解、沒有文件、沒有可追溯的歷史紀錄,這個時候你就必須要花上多幾倍的時間成本來完成原本的需求,又或者出現類似這樣的問題:我如果刪除了這一行會不會讓程式不會跑?
展望未來
撰寫優秀的 Commit,就是節省了你或者你的同事未來尋找 bug 的時間。在開發之餘,花點時間去寫一封提交訊息給未來的自己,是非常值得的,尤其在大型的專案中,任何有關的文件都至關重要。
我強烈建議,在開發團隊中,如果還沒有建立起提交訊息的相關規範,就立即行動吧!
比起你做了什麼,別人更想知道你為什麼做
這句話,是我有一天滑手機時無意間看到的,但印象很深刻。
你做了什麼,只要看 changed files 就可以知道了,而你因為什麼而做卻看不出來。
如果你要寫 message 時,不妨這樣思考,會有幫助的。
幾個要點寫出好的提交訊息
- Commit type: 使用特定的類型來表示,可以讓人第一眼就分辨出這是什麼樣類別的提交。
- Length: 適當的長度會讓人感覺到用字精準,通常第一行不會超過 20 個字,並且不會使用標點符號及大寫字母,內容限制在 72 個字。
- Content: 所有的句子都要直接,盡量避免使用太多的連接詞,例如:雖然、也許、我認為、有點…
知道規範後,要如何生產出內容呢?問自己以下幾個問題,並串接起來,就會豁然開朗:
- 我為什麼要做這個變更?
- 我做的這些改變會有什麼影響?
- 為什麼需要做這些改變?
1 | git commit -m 'add margin' |
這邊偷偷透露,我以前真的都寫第一種的提交訊息 😂
常用的 Commit Type
結語
撰寫出色的提交,能幫助整個團隊的溝通及協作。Commit message 是專案的修改歷史,幫助我們解讀過去並在未來做出合理的決定。
希望閱讀完本篇的你,有被幫助提升 Commit 的品質。