git 檢視分支的源分支 Git 分支設計規範

2021-10-13 17:32:15 字數 3355 閱讀 8461

規範是死的,人是活的,希望自己定的規範,不要被打臉。

在說 git 分支規範之前,先說下在系統開發過程中常用的環境。

簡稱全稱dev

development environment

fatfeature acceptance test environment

uatuser acceptance test environment

proproduction environment

接下來,針對不同的環境來設計分支。

分支名稱

環境可訪問

master

主分支pro

是release

預上線分支

uat是

hotfix

緊急修復分支

dev否

develop

測試分支

fat是

feature

需求開發分支

dev否

master 分支

master為主分支,用於部署到正式環境(pro),一般由releasehotfix分支合併,任何情況下不允許直接在 master 分支上修改**。

release 分支

release為預上線分支,用於部署到預上線環境(uat),始終保持與master分支一致,一般由develophotfix分支合併,不建議直接在release分支上直接修改**。

如果在release分支測試出問題,需要回歸驗證develop分支看否存在此問題。

hotfix 分支

hotfix為緊急修復分支,命名規則為hotfix-開頭。

當線上出現緊急問題需要馬上修復時,需要基於releasemaster分支建立hotfix分支,修復完成後,再合併到releasedevelop分支,一旦修復上線,便將其刪除。

develop 分支

develop為測試分支,用於部署到測試環境(fat),始終保持最新完成以及 bug 修復後的**,可根據需求大小程度確定是由feature分支合併,還是直接在上面開發。

一定是滿足測試的**才能往上面合併或提交。

feature 分支

feature為需求開發分支,命名規則為feature-開頭,一旦該需求上線,便將其刪除。

這麼說可能有點不容易理解,接下來舉幾個開發場景。

新需求加入

有乙個訂單管理的新需求需要開發,首先要建立乙個feature-order分支,問題來了,該分支是基於哪個分支建立?

如果 存在 未測試完畢的需求,就基於master建立。

如果 不存在 未測試完畢的需求,就基於develop建立。

需求在feature-order分支開發完畢,準備提測時,要先確定develop不存在未測試完畢的需求,這時研發人員才能將將**合併到develop(測試環境)供測試人員測試。

測試人員在develop(測試環境) 測試通過後,研發人員再將**發布到release(預上線環境)供測試人員測試。

測試人員在release(預上線環境)測試通過後,研發人員再將**發布到master(正式環境)供測試人員測試。

測試人員在master(正式環境) 測試通過後,研發人員需要刪除feature-order分支。

普通迭代

有乙個訂單管理的迭代需求,如果開發工時 < 1d,直接在develop開發,如果開發工時 > 1d,那就需要建立分支,在分支上開發。

開發後的提測上線流程 與 新需求加入的流程一致。

修復測試環境 bug

develop測試出現了bug,如果修復工時 < 2h,直接在develop修復,如果修復工時 > 2h,需要在分支上修復。

修復後的提測上線流程 與 新需求加入的流程一致。

修改預上線環境 bug

release測試出現了bug,首先要回歸下develop分支是否同樣存在這個問題。

如果存在,修復流程 與 修復測試環境 bug流程一致。

如果不存在,這種可能性比較少,大部分是資料相容問題,環境配置問題等。

修改正式環境 bug

master測試出現了bug,首先要回歸下releasedevelop分支是否同樣存在這個問題。

如果存在,修復流程 與 修復測試環境 bug流程一致。

如果不存在,這種可能性也比較少,大部分是資料相容問題,環境配置問題等。

緊急修復正式環境 bug

需求在測試環節未測試出 bug,上線執行一段時候後出現了 bug,需要緊急修復的。

我個人理解緊急修復的意思是沒時間驗證測試環境了,但還是建議驗證下預上線環境。

並行提測

在乙個專案中並行開發了兩個需求,並行提測,但是上線日期不同。

我能想到的兩種方案:

提交資訊一定要認真填寫!

比如:fix(首頁模組):修復彈窗 js bug。

type表示 動作型別,可分為:

scope表示 影響範圍,可分為:模組、類庫、方法等。

subject表示 簡短描述,最好不要超過 60 個字,如果有相關 bug 的 jira 號,建議在描述中加上。

暫時就想到這麼多,規範這東西不是一成不變的,供參考。

推薦閱讀:

好文章,我在看

git的分支檢視

1.1檢視遠端分支git branch r r remote1.2檢視本地分支git branch1.3所有分支git branch a a all2.1新建分支,不切換至新分支git branch branch name 預設是拷貝操作,複製原分支內容至新分支2.2新建分支,並切換至新分支git ...

git刪除分支 檢視分支動態

git不能在當前分支下刪除你當前所在的分支,比如你要刪除new分支,而現在正在處於new分支下,則執行git branch d new的時候會報錯 error cannot delete branch new checked out at d web webpack project front en...

git 檢視遠端分支

這個資訊實際是存在config 檔案中的,可以用下面的命令來檢視temp分支的資訊,1 git config l grep branch temp 比如下面的列印說明本地 master 分支 track 的是 origin 庫的 master 分支。1 2 3 git config l grep b...