git倉庫使用規範

git倉庫使用規範

1 背景

剛換了一個工作,當前單位的程式碼管理特別混亂,開發量大,功能分支繁多

1 重要分支沒有完全設定分支保護,同事們在重要分支自行解決衝突,不小心將錯誤提交上去,導致環境不可用

2 分支命名五花八門,沒有任何可用資訊

3 合併程式碼後原分支保留,即使狀態為已經合併,管理人員仍是不敢輕易刪除(寧可留著,不可錯刪),導致程式碼庫分支積累過多

4 隨意提交檔案,例如:‘exe’, 我了個擦。。。

於是趁著下班前的功夫簡單寫了份規範文件,暫時用於過度。

2 調整方案

2。1 對於重要的分支,設定為保護型別,禁止直接提交程式碼

2。2 推薦工作流作為參考

1 fork主幹倉庫

2 將開發分支(develop_branch)日常推送到自己倉庫,協同開發可以建立新分支在主倉庫(命名規範)

3 將要向那個環境分支(branch)傳送合併請求,就基於該分支(branch)建立新的合併分支(cherry_username_branch_master)

4 將自己開發的功能分支(develop_branch)合入對應的主幹分支(cherry_username_branch_master),如果發生衝突,就在該分支解決

5 如果各個分支的git歷史記錄一直,可以採用git merge 方式合併,如果不同分支的git歷史差異較大建議採用cherry-pick方式

6 程式碼合併之後,自動刪除請求分支(提交請求時候,勾選刪除原分支)

2。3 命名規範

程式碼開發分支: `feature-{username}-{version}-{storyId}`

請求合併分支: `cherry-{username}-{version}-{storyId}-{master|pre|beta|prod}` 字尾方便程式碼管理人員輔助修正

示例:

1 建立新的開發分支。

命名:feature-zhangsan-5。5-1005568

解釋:類別-使用者-迭代版本-需求id

2 建立請求合併分支

基於test建立請求合併分支,例如:cherry-zhangsan-test,程式碼負責人處理合併請求之後,gitlab自動刪除合併分支。

解釋:

cherry:說明是一個合併分支,用來解決衝突,因為重要分支設定了保護,是沒有直接提交程式碼許可權的

test:說明是向test傳送合併請求。如果已經將請求傳送到錯誤的分支,程式碼負責人在合併程式碼的時候,根據字尾也會及時制止

2。4 常用規範分支命令,個人參考騰訊工蜂

master 主幹分支

feature 新特性開發分支

release 釋出分支,用於預釋出測試或穩定版本釋出

hotfix 用於生產環境緊急bug修復的分支

develop 主開發分支

bugfix 產品bug修復分支

collaboration 多人合作開發分支

pre-production 預釋出環境分支

production 生產環境分支

environment 對應某種軟體部署環境的分支

experimental 用於儲存實驗性程式碼的分支,一般不合入主幹

3 其它

1 對於規範,習慣成自然。合理的規範可以避免不必要的麻煩。

2 規範不是固定的,根據實際情況參考已有經驗,制定符合當前團隊的規範