在日常的開發工作中,我們團隊所有的項目都是使用Git來做版本管理的。Git是個很強大的版本管理工具,像全球最大的同性交友網站Github就是基于Git的。
如此強大的版本管理工具,在實際的應用中,我們很多的時候卻沒有發揮它的作用,而且還把它用的超級爛,其中最明顯的就是Commit message。
實際項目提交記錄
在項目中存在大量提交,每一次提交都意味著系統的一次更新,但是從提交信息中我們很難分辨出某一次提交具體解決了什么問題,增加了什么功能。提交內容如下:
打開一次提交記錄,我們還會發現在一次提交中,融合了太多的功能:
- 修復了一個bug
- 優化了代碼結構
- 增加了一個新功能
- 等等
提交的內容太多的復雜,混亂。當我們需要版本回滾的時候,無法很好的將代碼恢復到某一個功能點上。
優秀開源項目提交記錄
接下來我們在看看優秀的開源項目是如何提交記錄的。
上面的提交記錄是我從Angular項目中截取的,我們可以清晰的看到每一次提交都做了什么,commit message都使用了簡明的文字描述了提交內容。
打開提交記錄,我們會發現提交內容和message非常匹配,一次提交絕不會包含和本次提交目的無關的內容。這樣提交代碼,可以很方便的進行代碼Review。
Commit Message規范
參考優秀的開源項目,我們可以很好的總結出一套message的格式規范:
總結
參考并使用總結出來的這套規范,可以是我們版本管理更清晰,使我們的項目走向優秀更進一步。