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