Git多分支開發時 merge 合併策略

2021-09-25 16:52:50 字數 1672 閱讀 3517

一 、 develop、master、hotfix 合併策略

專案一般會有develop、master另個分支develop分支部署在測試環境測試,多個開發工程師把自己的commit都提交到develop分支,交給測試工程師來測試;master分支是上線分支,測試沒問題的develop分支,在需要上線的時候合併到master分支。

保持master和develop提交歷史一致,每次develop合併到master的時候不會出現衝突,保證線上的**和測試環境環測試完成的**一致,避免因為合併**引起線上出問題。

有時候需要臨時上線,可以基於master分支建立hotfix分支,測試後合併到master分支。

hotfix分支和develop分支是並行的,hotfix分支合併到master分支後,需要同時合併到develop分支,保證develop分支和master分支提交歷史一致。

hotfix分為兩種情況:

a:hofix和develop分支沒有修改相同檔案,不會出現衝突

1)master分支:

a -> b 

2)develop分支

​a ->b -> c        commit c修改了檔案x

3)hotfix分支

a->b-> c1       commit c1 修改了檔案y

*合併操作如下:*

1)master merge hotfix

master: a->b->c1

2) develop rebase master

develop: a->b->c1->c    該過程中不會出現衝突(因為沒有修改相同檔案)

b:hotfix和develop分支修改相同檔案,出現衝突

1)master分支:

a -> b 

2)develop分支

​a ->b -> c         commit c修改了檔案x

3)hotfix分支

a->b-> c1          commit c1 修改了檔案x

*合併操作如下:*

1)master merge hotfix

master: a->b->c

2) develop rebase master

develop: a->b->c1->c2    

該過程**現衝突(因為修改了相同檔案),需要手動修改衝突,確定最終x檔案的版本。commit c2是在c版本上解決衝突後的版本

按照上述流程修改後,develop合併master不需要解決衝突

tip: merge的時候請包含提交的commit資訊,使用下面命令操作,這樣方便檢視歷史記錄

git merge master --log --no-ff

二、 多分支a、b、c並行開發時合併策略

一、專案背景:

專案ab分支同時進行開發時,a分支開發過程中有其他分支b上線,並且b分支上線版本已同步(merge)到master,則須合併已上線版本到正在開發的分支a上,避免a分支上線時覆蓋b分支的**,導致功能倒退。

二、命令列合併步驟:

1.切換到開發分支a:

git checkout 【開發分支】

2.合併master到開發分支(因為b已經同步到master,於是將master合併到a,保證a上涵蓋b以上線的最新**):

git merge --no-ff master

3.將合併後**推送到遠端庫:

Git分支開發模式

這篇部落格將主要介紹團隊中如何使用git分支模式進行開發。先介紹一下分支 分支分為遠端分支和本地分支。建立版本庫時,缺省會有乙個master遠端分支,我們轉殖到本地,於是建立了本地master分支。預設情況下,乙個遠端分支,乙個本地分支,在本地寫 寫完之後更新到遠端分支。我們稱這種模式為單分支模式。...

git 分支開發規範

git 進行 管理和開發時,分支的管理也是非常必要的 1 master分支 部署生產環境的分支,這個分支只能從其他分支合併,如develop release hotfix,不能在這個分支直接修改 2 develop分支 我們的主開發分支,是乙個穩定的版本,通常由release分支合併過來,通常發到s...

Git切換分支開發

入職第一家公司做開發的時候使用的專案版本管理工具是svn,公司內部搭建的伺服器 在第 二 第三家公司做開發的時候,使用的專案版本管理工具是git,現在大多數公司使用的也是git。剛進入公司的時候首先做的都是拉取專案 並且一般都需要切換到分支進行開發,對於不少新人或者是沒有使用過git的人來說,可能會...