幾乎每一種版本控制系統都以某種形式支援分支。使用分支意味着你可以從開發主線上分離開來,然後在不影響主線的同時繼續工作。
有人把 Git 的分支模型稱為"必殺技特性",而正是因為它,将 Git 從版本控制系統家族裡區分出來。
建立分支指令:
切換分支指令:
當你切換分支的時候,Git 會用該分支的最後送出的快照替換你的工作目錄的内容, 是以多個分支不需要多個目錄。
合并分支指令:
你可以多次合并到統一分支, 也可以選擇在合并之後直接删除被并入的分支。
列出分支基本指令:
沒有參數時,git branch 會列出你在本地的分支。
此例的意思就是,我們有一個叫做"master"的分支,并且該分支是目前分支。
當你執行 git init 的時候,預設情況下 Git 就會為你建立"master"分支。
如果我們要手動建立一個分支。執行 git branch (branchname) 即可。
現在我們可以看到,有了一個新分支 testing。
當你以此方式在上次送出更新之後建立了新分支,如果後來又有更新送出, 然後又切換到了"testing"分支,Git 将還原你的工作目錄到你建立分支時候的樣子
接下來我們将示範如何切換分支,我們用 git checkout (branch) 切換到我們要修改的分支。
當我們切換到"testing"分支的時候,我們添加的新檔案test.txt被移除了, 原來被删除的檔案hello.php檔案又出現了。切換回"master"分支的時候,它們有重新出現了。
我們也可以使用 git checkout -b (branchname) 指令來建立新分支并立即切換到該分支下,進而在該分支中操作。
如你所見,我們建立了一個分支,在該分支的上下文中移除了一些檔案,然後切換回我們的主分支,那些檔案又回來了。
使用分支将工作切分開來,進而讓我們能夠在不同上下文中做事,并來回切換。
删除分支指令:
例如我們要删除"testing"分支:
一旦某分支有了獨立内容,你終究會希望将它合并回到你的主分支。 你可以使用以下指令将任何分支合并到目前分支中去:
以上執行個體中我們将 newtest 分支合并到主分支去,test2.txt 檔案被删除。
合并并不僅僅是簡單的檔案添加、移除的操作,Git 也會合并修改。
首先,我們建立一個叫做"change_site"的分支,切換過去,我們将内容改為 www.runoob.com 。
将修改的内容送出到 "change_site" 分支中。 現在,假如切換回 "master" 分支我們可以看内容恢複到我們修改前的,我們再次修改test.txt檔案。
現在這些改變已經記錄到我的 "master" 分支了。接下來我們将 "change_site" 分支合并過來。
我們将前一個分支合并到 "master" 分支,一個合并沖突就出現了,接下來我們需要手動去修改它。
在 Git 中,我們可以用 git add 要告訴 Git 檔案沖突已經解決
現在我們成功解決了合并中的沖突,并送出了結果。
本文轉自 頂風走千裡 51CTO部落格,原文連結:http://blog.51cto.com/13505030/2055437