git 分支的創建和切換
每次提交,GIT 都會將他們串成一個時間線,截止到目前,只有一個時間線,GIT裏叫這個分支為主分支,叫master,HEAD指向master,master指向提交,HEAD指向當前的分支.
一開始的時候,master
分支是一條線,Git用master
指向最新的提交,再用HEAD
指向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
分支:
我們創建dev
分支,然後切換到dev
分支:
git checkout -b dev 加上-b參數表示創建並切換,相當於以下兩條命令
git branch dev git checkout dev
修改工作區一個文件測試下,然後提交
git add test.txt
git commit -m "test"
再切回master:
git checkout master 會發現剛才修改的內容又回去了,沒有發生變化,因為剛那個提交是在dev分支上,master分支此刻的提交並沒有變:
合並分支到master
首先要切換到master,再執行git merge dev命令,然後就可以刪除dev分支了,git branch -d dev
git 分支的創建和切換