您現在的位置是:首頁 > 動作武俠首頁動作武俠

團隊要提高質量,就要這麼用Git進行版本控制!

簡介3)由測試人員對預生產環境進行測試,測試通過後,由研發人員發起從release分支合併到master分支的申請,由管理員稽核通過後完成合並,並在master分支上打版本標籤,並部署到生產環境

測試分支是什麼意思

大家都比較清楚,網際網路產品要能夠快速響應市場變化,要面對頻繁的需求變更,要用廉價的成本快速試錯,這樣才能不斷的完善和最佳化產品。

Git是一個開源的分散式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。非常適合做網際網路產品的程式碼版本管理。

團隊要提高質量,就要這麼用Git進行版本控制!

一個團隊如何如何使用git進行版本管理,如何使用git進行多人的程式碼寫作?如何解決產品開發過程中的提出來的版本控制的問題?就是我要表達的意思。

團隊如何進行版本管理呢?

第一,GitServer的選型和安裝

我選用了GitLab作為GitServer。GitLab是一個開源的版本管理系統,實現一個自託管的Git專案倉庫,可透過Web介面進行訪問公開的或者私人專案。它擁有與Github類似的功能,能夠瀏覽原始碼,管理缺陷和註釋等,還有一個功能,它能夠實現分支的線上合併申請,分支可以進行保護等許可權的控制。

第二,版本號定義規範

約定版本號規範,每個模組的版本號約定為三位

,根據大的基線設定
主要版本號,根據當前版本設定次版本號,預設為0,當有bug修改後才更新這個版本號。每次產品人員定義好產品功能後,每次變更版本號即可。

第三,建立固定分支

每建立一個專案,分別建立dev、test、release、master四個固定分支。

dev分支用來研發人員進行自測和模組間聯調使用的,用來部署到研發環境的,開發人員對該分支有pull和push許可權。

test分支是測試人員進行測試的程式碼分支,是部署到測試環境的程式碼分支,研發人員聯調完自測完成後,提交feature分支合併申請到test分支,由管理員負責程式碼review並進行程式碼合併,該分支是受保護分支,開發人員對該分支有pull許可權。

release分支是在test分支測試完成後,由研發人員提交test分支合併申請到release分支,release程式碼分支是用來部署到預生產環境的,由管理員進行程式碼合併。

master分支是最終上線的程式碼分支,測試人員在預生產環境測試通過後,由研發人員提交release程式碼分支合併申請到master分支,master分支是要部署到生產環境的,master上線完成後打對應版本的tag標籤。

第四,臨時分支

feature分支,每次定義產品一個完整的基線版本就生成一個feature_{版本號}分支,上線完成後刪除該分支,所有的人建立一個屬於自己的分支,每個人自測完成後,發起自己分支合併到feature分支,然後將feature分支合併到dev分支。

hotfix分支,每次bug修復建立一個hotfix_{版本號}分支,生產環境出現bug後,需要馬上修改時,確定好版本號,從繼承master分支建立hotfix分支。

第五,正常上線流程

1)管理員建立固定的分支dev、test、release和master版本,根據產品人員確定的功能確定當前版本的版本號,並繼承master分支建立feature分支。

2)每個研發人員拉取feature分支,並建立個人本地分支。

3)研發人員進行編碼,自測完成後合併本地分支合併到feature分支,並將feature分支合併到dev分支部署到研發環境進行模組間聯調。

4)研發人員聯調透過以後,向管理員發起feature分支合併到test分支的申請,由管理員review程式碼後完成合並,並部署到測試環境。

5)測試人員在測試環境進行測試,發現bug並登記,由研發人員進行修改,重新從第3步開始重複執行。

6)測試人員測試透過以後,由研發人員發起從test分支向release分支合併申請,由管理員完成合並,並部署到預生產環境。

7)測試人員測試預生產環境測試通過後,由研發人員發起從release分支向master分支的合併申請,有管理員完成合並,並在master分支上打版本標籤,並部署到生產環境。

8)測試人員驗證生產環境通過後,上線完成,如果生產環境驗證不透過,馬上回滾到master上一次的版本程式碼。

第五,線上從來不缺bug,如何處理線上緊急Bug呢?

1)研發人員從繼承master分支建立一個hotfix分支。

2)研發人員檢出hotfix分支,自測通過後提交併申請分支合併到release分支,由管理稽核通過後完成合並,並部署到預生產環境。

3)由測試人員對預生產環境進行測試,測試通過後,由研發人員發起從release分支合併到master分支的申請,由管理員稽核通過後完成合並,並在master分支上打版本標籤,並部署到生產環境。

4)測試人員驗證生產環境通過後,上線完成,如果生產環境驗證不透過,馬上回滾到master上一次的版本程式碼。

以上就是我使用GitLab進行版本管理的實際使用過程,大家有什麼想法可以加我的微信一起討論。

Top