建立分支:git branch
,例如我們建立乙個dev
新分支::
$ git branch dev
沒有任何提示,表明已經建立成功。
可以使用命令git brach
檢視當前倉庫的所有分支:
$ git branch
dev* master
可以看到現在整個倉庫有兩個分支:dev
和master
, git會使用*
標記當前分支,所以現在是在主分支master
分支上。
那麼如何切換到dev
分支呢? 使用命令:git checkout
:
$ git checkout dev
switched to branch 'dev'
此時git告訴我們,已經成功切換到dev
分支,再來檢視一下當前所有分支:
$ git brach
* dev
master
可以看到,當前確實是在dev
分支(*標記)。
其實也可以一步實現建立新分支並切換到該分支,例如我們建立feature
分支並切換到該分支:使用命令:git checkout -b
:
$ git checkout -b dev
switched to a new branch 'dev'
其實就是相當於上面的兩條命令的合併:git branch dev
和git checkout dev
。
如果這個時候你已經不需要除了主分支之外的其他分支,即需要刪除分支,使用命令:git branch -d
即可, 比如我們要刪除dev
分支, 然後再檢視刪除後倉庫的分支:
$ git branch -d dev
deleted branch dev (was d6932d6)
.$ git branch
* master
由上面的幾行英文就可以知道dev
分支被刪除,現在倉庫只剩下了master
分支。
現在假如你開始在新的分支上工作,正如我們之前所說,工作完成後怎樣合併到主分支上呢? 現在給出解答:
比如現在在dev
分支上修改了readme.txt
檔案,在末尾加上一句話:creat new branch and merge to master
:
$ git checkout dev
switched to branch 'dev'..
.//為readme.txt新增一行
$ cat readme.txt
git is a version control tool
git is the most advaced version control system
i learn git now
i think git is better than svn
creat new branch and merge to master
然後提交:
$ git add readme.txt
$ git commit -m 'test merge'
[dev d08d313] test merge
1 file changed,
1insertion(+
)
這個時候我們切換到master
分支檢視readme.txt
檔案內容:
$ git checkout master
m readme.txt
switched to branch 'master'
your branch is up to date with 'origin/master'
.$ cat readme.txt
git is a version control tool
git is the most advaced version control system
i learn git now
i think git is better than svn
發現這個時候master
新增的一行內容並不存在,這是因為你剛才是在dev分支,而此刻的master
並沒有改變。
現在我們將dev
分支上的修改合併到master
分支,在master
分支上使用命令:git merge dev
:
$ git merge dev
updating d6932d6.
.d08d313
fast-forward
readme.txt |1+
1 file changed,
1insertion(+
)
可以看到,git告訴我們已經更新,使用的合併方式是 fast-forward,然後再來看master
分支下的readme.txt
的內容:
$ cat readme.txt
git is a version control tool
git is the most advaced version control system
i learn git now
i think git is better than svn
creat new branch and merge to master
合併後,再檢視readme.txt的內容,就可以看到,和dev
分支的最新提交是完全一樣的。
注意到:我們切換分支的時候是使用 :git checkout
命令,但是我們在撤銷修改的時候也是用的這個命令,所以git為了區分,新引出了乙個git switch
命令英語切換分支,效果和git checkout
是一樣的:
切換分支:
$ git switch dev
switched to branch 'dev'
建立並切換到該分支:
$ git switch
-c feaature
git switched to a new branch 'feature'
注意:新版本的才有git switch 命令,我的舊版本不存在這個命令,
所以我是在windows上較新的版本操作的,其實沒有關係,只要
知道有 git switch 這回事就行,不能用就用 git checkout ,效果完全一樣。
小結:
今天一共就學習了以下幾個內容:
1)建立分支:git branch
;
2)切換分支:git checkout
或者是git switch
(舊版本沒有);
3)建立並切換到該分支:git checkout -b
或者是git switch -c
(舊版本沒有);
4)刪除分支:git branch -d
;
5)合併分支:git merge
;
參考:廖雪峰:git教程
git之建立 刪除分支
建立分支 git branch yourbranch git checkout yourbranch 建立並切換到分支 git checkout b yourbranch 合併分支 到master分支上 git checkout master 先切換到master上 git merge yourbr...
Git之建立 合併 刪除分支
git中的分支並不是我們所理解的類似於岔路口的那種,其實這裡的分支更多的則是類似於我們所說的平行宇宙。簡單來說就是你在做這件事情的時候完全不影響另一件事情的發展,也就是說,你本人在這個宇宙裡做著這件事,另乙個你在平行宇宙裡做著和你不一樣的另一件事,到了某個時間節點,你發現,兩件事情你都做了。那麼分支...
Git建立分支與合併分支
首先,我們建立dev分支,然後切換到dev分支 git checkout b dev 建立dev分支並同時切換到dev分支 switched to a new branch dev git checkout命令加上 b引數表示建立並切換,相當於以下兩條命令 git branch dev git ch...