本規(guī)范可以作為公司或團(tuán)隊(duì)的規(guī)范文檔,歡迎大家提供意見(jiàn)來(lái)一起補(bǔ)充完善與轉(zhuǎn)發(fā)。
1. 規(guī)范背景與目的
團(tuán)隊(duì)開(kāi)發(fā)中,遵循一個(gè)合理、清晰的Git使用流程,是非常重要的,否則每個(gè)人都提交一堆雜亂無(wú)章的commit,項(xiàng)目很快就會(huì)變得難以協(xié)調(diào)和維護(hù)。規(guī)范的commit注釋也能馬上看到這行代碼是哪個(gè)需求提交的。以下所有規(guī)范會(huì)按照【強(qiáng)制】、【建議】?jī)蓚€(gè)級(jí)別進(jìn)行標(biāo)注,遵守優(yōu)先級(jí)從高到低。
2. 規(guī)范說(shuō)明
2.1 分支
- 【強(qiáng)制】每次開(kāi)發(fā)新功能,都必須從最新的master分支(或其他依賴(lài)分支)上新建一個(gè)單獨(dú)的分支,產(chǎn)品與技術(shù)需求以“需求編號(hào)”命名,比如:feature-1201,bug修復(fù)可以fix/[user]-[yyyyMMdd]命名,user可以是開(kāi)發(fā)人員名稱(chēng)簡(jiǎn)寫(xiě)。
- 【強(qiáng)制】在需求分支提merge request前,必須先pull master代碼,防止代碼沖突。
- 【強(qiáng)制】在pull其他分支代碼時(shí),對(duì)不確定的沖突代碼必須先與其開(kāi)發(fā)人員確認(rèn),防止合并代碼時(shí)丟失而導(dǎo)致線上問(wèn)題。
- 【建議】管理員對(duì)分支的merge request代碼進(jìn)行Review。
2.2 注釋
- 【強(qiáng)制】git commit必須包含注釋。
- 【建議】可以參考業(yè)界通用的git提交規(guī)范 commitizen,制定適合自己的提交規(guī)范。比如可以參考如下的格式規(guī)范。
注釋格式:type(scope) : subject(分支號(hào)) 。其中
type(必須): commit 的類(lèi)別,只允許使用下面幾個(gè)標(biāo)識(shí):
feat : 新功能
fix : 修復(fù)bug
docs : 文檔改變
refactor : 某個(gè)已有功能重構(gòu)
perf : 性能優(yōu)化
test : 增加測(cè)試
revert : 撤銷(xiāo)上一次的 commit
scope(可選) : 用于說(shuō)明 commit 影響的范圍,比如數(shù)據(jù)層、控制層、視圖層等等,視項(xiàng)目的不同而不同。
subject(必須) : commit 的簡(jiǎn)短描述,不超過(guò)50個(gè)字符,內(nèi)容不要是'fix'、'update'、'commit'等這些無(wú)用的描述。
分支號(hào)(必須):此次提交的分支號(hào)(如feature-878、fix/mary-20200315),用來(lái)查看代碼是哪個(gè)需求修改,方便后期維護(hù)。
如下圖一個(gè)Git注釋提交記錄示例:
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。