在我們嵌入式開發(fā)中,版本管理工具Git已經(jīng)成為不可或缺的一部分。
Git幫助我們記錄代碼變更歷史,提供了強(qiáng)大的代碼協(xié)作開發(fā)功能。
初學(xué)時,我們基本都是按照下面的格式這么來寫commit信息的吧?
git?commit?-m?"Fix?Segmentation?fault?bug"
甚至有些公司的commit信息也很隨意也類似于上面這樣的。這樣的commit信息包含的信息比較有限,不利于后續(xù)的版本追溯。
其實(shí),為了確保團(tuán)隊成員能夠更高效地協(xié)作,并且保持代碼庫的整潔和有序,需要團(tuán)隊各成員遵循達(dá)成一致的commit提交規(guī)范。
commit提交規(guī)范盡可能地包含一些能幫助我們對歷史版本進(jìn)行追溯的有用信息。
比如:能清晰地概述所提交的內(nèi)容、能知道這個提交是bug修復(fù)還是功能新增、代碼修改的地方、影響范圍、是否經(jīng)過自測等。
這個提交規(guī)范可以形成commit模板文件配置到git中。
commit模板配置
1、在用戶目錄下創(chuàng)建一個名為commit.template的模板文件。模板內(nèi)容可參考如下:
<類型>:?主題
修改內(nèi)容:
影響范圍:
自測情況:
相關(guān)鏈接:
#1、類型:
# feat:新增 xxx 功能
# fix:修復(fù) xxx bug
# refactor:重構(gòu) xxx
# test:測試 xxx
# chore:維護(hù) xxx
# style:變更代碼格式、修改注釋
# docs:變更 xxx 文檔
#2、主題:
#?簡單描述本次提交的內(nèi)容
#3、修改內(nèi)容:
#?修改了xxx模塊/修改了xxx文件/把xxx處理修改為yyy處理等。沒有則填無。
#4、影響范圍:
#?影響了xxx模塊/影響了xxx路徑的操作等。沒有則填無。
#5、自測情況:
#?測試代碼xxx_unit_test.c/測試了xxx路徑/待聯(lián)調(diào)測試等。沒有則填無。
#6、相關(guān)鏈接:
#?需求鏈接/bug鏈接/設(shè)計文檔鏈接等。沒有則填無。
這個模板只是列舉了常用的幾個點(diǎn),僅供參考,可以根據(jù)實(shí)際需要修改、添加、刪除。
2、在git中配置模板
(1)全局使用這個commit message模板
輸入如下命令:
git?config?--global?commit.template?~/commit.template
(2)在當(dāng)前倉庫中使用此模板
在當(dāng)前倉庫的根目錄下,打開命令行,輸入如下命令:
git?config?commit.template?~/commit.template
3、設(shè)置commit時使用的編輯器
(1)配置全局有效:
git?config?--global?core.editor?vim
(2)配置當(dāng)前有效:
git?config?core.editor?vim
commit模板使用
git add添加代碼到暫存區(qū)之后,輸入git commit調(diào)用模板,使用vim編輯器填寫內(nèi)容。
保存退出,通過git log查看我們的commit是這樣子的:
比較清晰明了!