日常開發(fā)中使用gitlab并行開發(fā)時,如何使各個開發(fā)人員開發(fā)完后提交的代碼不沖突,發(fā)布生產(chǎn)時不漏發(fā)代碼,對于我們開發(fā)人員來說是很重要的,也是必須掌握的,如果分支管理的不好,大家提交上來的代碼可能就會很混亂了,下面是我們公司當前對分支使用的規(guī)范與分支使用的方法,就目前使用情況來說,效果不錯。
一.分支命名&使用
-
master:只做為備份分支
所有新代碼在發(fā)布完生產(chǎn)環(huán)境后,需要測試同學驗證無誤后,將發(fā)布分支合并到master中,下一個開發(fā)再基于master切新的開發(fā)分支 -
feature_功能名: 按功能標識的分支
該分支主要用于開發(fā)某項功能的研發(fā),待研發(fā)完畢后,合并到發(fā)布分支release_發(fā)布日期 -
release_發(fā)布日期:安發(fā)布日期標識的分支
該分支主要用于發(fā)布生產(chǎn),如release_20220429表示所有需要發(fā)布的功能代碼都要合并到該分支,該分支一般由發(fā)布日當天從master中checkout出來 -
hotfix_發(fā)布日期:按日期標識的分支
該分支只要用于緊急修復bug,當日從master中checkout出來的分支,待新代碼發(fā)布到生產(chǎn)確定修復了,就將該分支合并到master中去
二.圖解過程
三.發(fā)布校驗
當測試人員提交了新分支的版本commit_id申請發(fā)布生產(chǎn)時,發(fā)布平臺需要對此分支的commit_id中代碼進行校驗,該步驟主要是用來確保不會漏發(fā)代碼或者刪除掉生產(chǎn)環(huán)境的代碼導致故障。
- 當前發(fā)布分支的commit_id 為該分支的最新hash
- 當前發(fā)布的分支中包含master中的最新hash
- 上一次發(fā)布到生產(chǎn)的commit_id有沒有存在與當前master分支中
對應解釋:
1.只發(fā)發(fā)布分支的最新版本,即分支確認需要發(fā)布后,研發(fā)人員應該對分支進行封版,不允許往發(fā)布分支添加新的代碼了,以免漏發(fā)代碼扯皮甩鍋
2.確保當前的分支是基于當前最新master中checkout出來的,即代碼是基于生產(chǎn)環(huán)境中來新增的代碼,否則可能會導致丟失已經(jīng)發(fā)布到生產(chǎn)環(huán)境的代碼
3.主要是校驗上一次發(fā)布到生產(chǎn)的分支是否合到master,即確保master分支的代碼與生產(chǎn)上運行的代碼要一致性
本文摘自 :https://www.cnblogs.com/