您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何寫commit log記錄及提交的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇如何寫commit log記錄及提交文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
在IDEA的Marketplace
中,搜索Git Commit Template
,就可以安裝這個(gè)插件。插件很小,很快就能下載下來(lái)。
正常從IDEA提交代碼的時(shí)候。我們發(fā)現(xiàn)多了一個(gè)小按鈕。
點(diǎn)擊之后,將彈出一個(gè)窗口。讓你去設(shè)計(jì)提交模板。
這么多信息,真的讓人頭暈。怪不得程序員們都不喜歡寫提交記錄。
其實(shí),在插件的安裝界面,就已經(jīng)說明了這個(gè)提交記錄的格式。
<type>(<scope>): <subject> <BLANK LINE> <body> <BLANK LINE> <footer>
從描述中,可以肯容易的看到一個(gè)提交記錄中,應(yīng)該包含哪些東西。其中類型最多的,當(dāng)然是提交類型。
我們按照插件顯示的順序來(lái)說明一下。
feat
功能feature
的意思,也是最常用的。當(dāng)你的功能有變更的時(shí)候,都可以采用這種類型的type
fix
當(dāng)然指的是bug修復(fù)
docs
更新了文檔,或者更新了注釋
style
代碼格式調(diào)整,比如執(zhí)行了format、更改了tab顯示等
refactor
重構(gòu)代碼。指的是代碼結(jié)構(gòu)的調(diào)整,比如使用了一些設(shè)計(jì)模式重新組織了代碼
perf
對(duì)項(xiàng)目或者模塊進(jìn)行了性能優(yōu)化。比如一些jvm的參數(shù)改動(dòng),把stringbuffer改為stringbuilder等
test
這個(gè)簡(jiǎn)單,就是增加了單元測(cè)試和自動(dòng)化相關(guān)的代碼
build
影響編譯的一些更改,比如更改了maven插件、增加了npm的過程等
ci
持續(xù)集成方面的更改。現(xiàn)在有些build系統(tǒng)喜歡把ci功能使用yml描述。如有這種更改,建議使用ci
chore
其他改動(dòng)。比如一些注釋修改或者文件清理。不影響src和test代碼文件的,都可以放在這里
revert
回滾了一些前面的代碼
除了這些預(yù)設(shè)的,團(tuán)隊(duì)還可以按照自己的需求,增加新的type
。比如專門處理線上工單,就可以創(chuàng)造一個(gè)叫做ticket
的類型。
scope是范圍的意思,主要指的是代碼的影響面。scope并沒有要求強(qiáng)制,但團(tuán)隊(duì)可以按照自己的理解進(jìn)行設(shè)計(jì)。通常由技術(shù)維度和業(yè)務(wù)維度兩種劃分方式。比如按照技術(shù)分為:controller
、dto
、service
、dao
等。但因?yàn)橐粋€(gè)功能提交,會(huì)涉及到多個(gè)scope(都不喜歡非常細(xì)粒度的提交),所以按照技術(shù)維度分的情況比較少。
按照業(yè)務(wù)模塊進(jìn)行劃分,也是比較不錯(cuò)的選擇。比如分為user
、order
等劃分,可以很容易看出是影響用戶模塊還是order模塊。
如果你實(shí)在不知道怎么填,那就留空。
這個(gè)體現(xiàn)的是總結(jié)概括能力,沒得跑。一句話能夠說明主要的提交是什么。subject也是眾多git管理工具默認(rèn)顯示的一行。如果你寫的標(biāo)準(zhǔn),那么提交記錄看起來(lái)就很漂亮很規(guī)整。
主要填寫詳細(xì)的改動(dòng)記錄。我一般習(xí)慣列上1234,但如果你的subject寫的非常好,正文可以直接弱化。但如果時(shí)間充裕,填寫上重要記錄的前因后果,需求背景,是一個(gè)好的習(xí)慣。
添加一些額外的hook,比如提交記錄之后,自動(dòng)關(guān)閉jira的工單(JIRA和gitlab等是可以聯(lián)動(dòng)的)。在比如觸發(fā)一些文檔編譯或者其他動(dòng)作。
這部分自定義行也是比較強(qiáng)的。
最后還有一個(gè)skip CI選項(xiàng)。一般的ci工具,都可以設(shè)置提交代碼時(shí)自動(dòng)觸發(fā)編譯。但你可以告訴它忽略本次提交。這可能是因?yàn)槟闾崆邦A(yù)判到了一些構(gòu)建風(fēng)險(xiǎn),或者就是不想編譯。
最后,看一個(gè)典型的提交記錄,有了工具的支持,我們的瞎扯也看得正經(jīng)起來(lái)。
fix(order): 修復(fù)了1分錢買汽車的bug 商務(wù)反饋可以1分錢買汽車,目前已經(jīng)賣出了100w量 Closes #2455 [skip ci]
其實(shí),提交的核心是type
和subject
。一個(gè)用來(lái)表示它的提交類型,一個(gè)用來(lái)對(duì)提交進(jìn)行概括性總結(jié),寫好了這兩點(diǎn),就能輕輕松松秒殺80%的程序員了。
有了這些基礎(chǔ),從commit log
,自動(dòng)生成change log
,就變的非常的容易。配合持續(xù)集成平臺(tái),自動(dòng)生成發(fā)版的變更記錄,也是可行的,這也是為什么團(tuán)隊(duì)管理,都在一直強(qiáng)調(diào)git的提交規(guī)范。因?yàn)樗_實(shí)非常有用。
關(guān)于“如何寫commit log記錄及提交”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“如何寫commit log記錄及提交”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。