我們知道每次提交git都會將他們串成一條線,這條時間線就是乙個分支。在git裡這條時間線叫做主分支,即master
分支
head
指向master
,master
指向最新的提交,所以,head
指向的就是當前分支。
每次提交,master指標
都會向前移動一步,這樣,隨著你不斷提交,master
分支的線也越來越長。
當我們建立新的分支的時候,例如dev,此時git也會新建立乙個指標dev,指向master
相同的提交,再把head
指向dev
,就表示當前分支在dev
上:
所以git建立乙個分支很快,因為除了增加乙個dev
指標,改改head
的指向,工作區的檔案都沒有任何變化!
從現在開始,對工作區的修改和提交就是針對dev
分支了,之後的每一次提交,dev
指標往前移動一步,而master
指標不變:
假如我們在dev
上的工作完成了,就可以把dev
合併到master
上。git怎麼合併呢?最簡單的方法,就是直接把master
指向dev
的當前提交,就完成了合併,合併分支時,如果可能,git會用fast forward
模式,但這種模式下,刪除分
支後,會丟掉分支資訊。強制禁用fast forward
模式,git就會在merge時
生成乙個新的commit,這樣,從分支歷史上就可以看出分支資訊。
所以git合併分支也很快!就改改指標,工作區內容也不變!
合併完分支後,甚至可以刪除dev
分支。刪除dev
分支就是把dev
指標給刪掉,刪掉後,我們就剩下了一條master
分支:
在實際開發中,我們應該按照幾個基本原則進行分支管理:
首先,master
分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;
那在哪幹活呢?幹活都在dev
分支上,也就是說,dev
分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev
分支合併到master
上,在master
分支發布1.0版本;
你和你的小夥伴們每個人都在dev
分支上幹活,每個人都有自己的分支,時不時地往dev
分支上合併就可以了。
所以,團隊合作的分支看起來就像這樣:
Git學習之分支管理策略
建立乙個屬於自己的分支,別人看不到,你在你自己的分支上幹活,想提交就提交,直至開發完畢後,再一次性合併到原來分支上。這樣,既安全,又不影響他人工作。在實際的開發過程中,應照幾個基本原則進行分支管理 master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活 幹活都在dev分支上,也...
GIT之分支管理
一 分支推進 二 建立分支 第一種方式 建立dev分支 b 建立並切換分支 git checkout b dev 第二種方式 git branch dev 建立dev分支,但沒有切換分支 git checkout dev 切換dev分支 三 檢視分支 dev 表示當前在dev分支上 git bran...
Git之分支建立策略
分支策略 git上始終保持兩個分支,master分支與develop分支。master分支主要用於發布時使用,而develop分支主要用於開發使用。建立master的分支develop git checkout b develop master 切換到master分支 git checkout ma...