在版本回退裡,我們已經知道,每次提交,git
都把它們串成一條時間線,這條時間線就是乙個分支。截止到目前,只有一條時間線,在git
裡,這個分支叫主分支,即master
分支。head
嚴格來說不是指向提交,而是指向master
,master
才是指向提交的,所以,head
指向的就是當前分支。
一開始的時候,master
分支是一條線,git
用master
指向最新的提交,再用head
指向master
,就能確定當前分支,以及當前分支的提交點:
每次提交,master
分支都會向前移動一步,這樣,隨著你不斷提交,master
分支的線也越來越長。
當我們建立新的分支,例如dev
時,git
新建了乙個指標叫dev
,指向master
相同的提交,再把head
指向dev
,就表示當前分支在dev
上:
你看,git
建立乙個分支很快,因為除了增加乙個dev
指標,改改head
的指向,工作區的檔案都沒有任何變化!
不過,從現在開始,對工作區的修改和提交就是針對dev
分支了,比如新提交一次後,dev
指標往前移動一步,而master
指標不變:
假如我們在dev
上的工作完成了,就可以把dev
合併到master
上。git
怎麼合併呢?最簡單的方法,就是直接把master
指向dev
的當前提交,就完成了合併:
所以git
合併分支也很快!就改改指標,工作區內容也不變!
合併完分支後,甚至可以刪除dev
分支。刪除dev
分支就是把dev
指標給刪掉,刪掉後,我們就剩下了一條master
分支:
·git·鼓勵大量使用分支:
Git學習筆記4 分支
參考鏈結廖雪峰git教程 建立本地分支 git branch testing 建立乙個分支,並命名為testing 建立遠端分支 分兩步 git branch testing 建立乙個分支,並命名為testing git push origin testing 將分支推送到遠端 相當於建立乙個遠端分...
git學習五(分支的衍合rebase)
它的原理是回到兩個分支最近的共同祖先,根據當前分支 也就是要進行衍合的分支experiment 後續的歷次提交物件 這裡只有乙個 c3 生成一系列檔案補丁,然後以基底分支 也就是主幹分支master 最後乙個提交物件 c4 為新的出發點,逐個應用之前準備好的補丁檔案,最後會生成乙個新的合併提交物件 ...
Git學習筆記 7 分支操作
在多人合作專案中,常常出現多個人共同對乙個專案進行修改的情況,因此不會直接在主幹master上進行操作,而是重新開闢新的分支,在新的分支上進行開發,除錯,當除錯通過後才會將分支專案的 合併到主幹中。命令描述 git checkout branch 切換到指定分支 git checkout b new...