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






