1. 程式人生 > >Git分支開發模式

Git分支開發模式

這篇部落格將主要介紹團隊中如何使用Git分支模式進行開發。

問題背景

先介紹一下分支:分支分為遠端分支和本地分支。
建立版本庫時,預設會有一個master遠端分支,我們克隆到本地,於是建立了本地master分支。預設情況下,一個遠端分支,一個本地分支,在本地寫程式碼,寫完之後更新到遠端分支。我們稱這種模式為單分支模式。或者說,帶commit的FTP模式。一個人用是不會出問題的,但是多個人就會出問題了。

衝突問題

因為在正常的git流程中,每次更新程式碼前都應當pull,更新原生代碼,pull就會產生衝突。FTP模式的衝突尤其多。分支模式的主要目標就是減少衝突。

怎麼做

我們的做法是這樣的,建立多個遠端分支,remote1,remote2。然後每個開發人員都有一個屬於自己的遠端分支,別人不會動你的遠端分支,每次提交程式碼都提交到自己的遠端分支。這樣在每個人的角度便不會產生conflict。其實,多人協作開發,衝突是一個不可避免的問題。那麼,一天工作結束的時候,我們再去解決衝突。remote1 pull remote2,在remote1中解決衝突,然後再push到master分支,第二天上班的時候,每個人再從master中pull最新的程式碼到本地。
總的來說,分支模式,有利於對衝突的把控,不會影響到每一個人自己的程式碼。

涉及到的指令

指令 作用
git branch -a 檢視所有分支,本地,遠端
git branch -b [分支名稱] 建立並切換到本地分支
git push origin [主機名/分支名] 推送到遠端分支,如果不存在則建立
git branch –set-upstream [本地分支名] [遠端主機名/分支名] 給本地分支和遠端分支建立追蹤
git branch -vv 可用於檢視本地分支和遠端分支之間的追蹤資訊
git fetch -b 獲取遠端倉庫,並刪除沒有建立追蹤資訊的本地分支.注意:如果遠端分支已經刪掉了b,b關聯的本地分支不會被刪掉