1. 程式人生 > >git 分支管理方案

git 分支管理方案

繼續 終端 class tlab http check toc 團隊 代碼上線

現有一般的公司項目均使用git(大多數是gitLab)管理。

開發組

我們的項目都要建立在 開發組的名下 (git.xxcompany.com/xxgroup),除需要公司內部開源的項目,都必須設置為 私有(private) ,只對團隊內部開源。

ssh key

使用前建議大家在本地用自己的公司郵箱配置ssh key,並講ssh key 添加到git系統的個人頁,(方法如下: https://segmentfault.com/a/1190000002645623)
雖然有一些公司的git 倉庫不使用ssh也能正常的clone,但考慮到後續的一些內部工具的權限校驗,建議配置ssh key

分支管理

因為前端開發不走終端的發版模式,可以隨時上線,因此分支管理顯得十分重要。
默認主線為master (永遠與線上代碼一致),我們采用現在大多數公司使用的feature開發模式:
1、接到需求後以線上(master)為基準,創建feature 分支命名規則: feature_xxx。
以xxx需求為例

$ git checkout master
$ git checkout -b feature_xxx

2、開發階段,完成需求
3、提測前,拿到最新的master分支合並到feature_xxx,將feature_xxx的代碼發到測試環境。

$ git checkout master
$ git pull
$ git checkout feature_xxx
$ git merge master

4、每一輪提測包括集成測試和上線前重復3,保證我們的feature兼容線上。
5、將feature的代碼上線,即:以feature_xxx為基準打一個tag,將tag上線。
6、線上回測沒有問題後,將feature_xxx合入master,然後除feature_xxx

$ git checkout master
$ git merge feature_xxx
$ git branch -D feature_xxx
$ git push origin :feature_xxx  //(註意“:”後面沒有空格)

這樣做的原因是永遠以一個 正確的基準 開始新需求的開發,也永遠將 正確的分支 合並到主線可以形成一個開發 閉環 ,這種方法要比commit打分支更便於理解和操作。可以應對 多人多需求並發場景

最主要的是應對在開發一個長期需求(feature_long)的過程中,插入另一個短期需求或線上bug(feature_short),長線需求可以在短期需求上線後(短期需求feature_short 合並merge 進master後,刪除feature_short),將master 合並進feature_long,然後feature_long繼續開發。

多人合作開發

我們會遇到對人開發同一個需求,比如前後端兩個人,請在 開發前約定 分支名,並由一個人創建好。

git 分支管理方案