建立與合併分支
分支就是科幻電影裡面的平行宇宙,當你正在電腦前努力學習git的時候,另乙個你正在另乙個平行宇宙裡努力學習svn。
如果兩個平行宇宙互不干擾,那對現在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合併了,結果,你既學會了git又學會了svn!
分支在實際中有什麼用呢?假設你準備開發乙個新功能,但是需要兩周才能完成,第一周你寫了50%的**,如果立刻提交,由於**還沒寫完,不完整的**庫會導致別人不能幹活了。如果等**全部寫完再一次提交,又存在丟失每天進度的巨大風險。
現在有了分支,就不用怕了。你建立了乙個屬於你自己的分支,別人看不到,還繼續在原來的分支上正常工作,而你在自己的分支上幹活,想提交就提交,直到開發完畢後,再一次性合併到原來的分支上,這樣,既安全,又不影響別人工作。
首先,建立分支dev
並切換到dev
分支:
$ git checkout -b dev
switched to a new branch 'dev'
git checkout
命令加上-b
引數表示建立並切換到dev
分支,相當於下面兩條命令:
$ git branch dev
$ git checkout dev
switch to branch 'dev'
然後用git branch
命令檢視當前分支:
$ git branch
* dev
master
git branch
會列出所有分支,當前分支前面會有乙個*
號。
然後,我們就可以在dev分支上正常提交,比如對readme.txt
做個修改,加上一行:
$ vi readme.txt
git is a distributed version control system.
git is free software distributed under the gpl.
git has a mutable index called stage.
creating a new branch is quicki.
然後提交:
$ git add readme.txt
$ git commit -m "branch test"
[dev b3d6a1b] branch test
1 file changed, 2 insertions(+), 1 deletion(-)
現在dev
分支的工作已經完成,切換回master
分支:
$ git checkout master
切換回master
分支發現readme.txt
並沒有改變,因為我們是在dev
分支上進行的修改。
現在我們把dev
分支合併到master
分支上。
$ git merge dev
updating 7a5f61e..b3d6a1b
fast-forward
readme.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
git merge
命令用於將指定的分支合併到當前分支。合併後再檢視readme.txt
發現和dev
提交的一樣,證明合併成功。
合併完成後,就可以放心的刪除dev
分支了。
$ git branch -d dev
deleted branch dev (was b3d6a1b).
再檢視一下分支:
$ git branch
* master
只剩下乙個master
分支。
小結建立分支
$ git branch 《分支名》
切換分支
$ git checkout 《分支名》
建立並切換分支
$ git checkout -b 《分支名》
檢視分支
$ git branch
合併分支到當前分支
$ git merge 《分支名》
刪除分支
$ git branch -d 《分支名》
Git專案管理之分支操作
在版本回退的章節裡,每次提交後都會有記錄,git 把它們串成時間線,形成類似於時間軸的東西,這個時間軸就是乙個分支,我們稱之為master分支。在開發的時候往往是團隊協作,多人進行開發,因此光有一乙個分支是無法滿足多人同時開發的需求的,並且在分支上工作並不影響其他分支的正常使用,會更加安全,git ...
GIT之分支管理
一 分支推進 二 建立分支 第一種方式 建立dev分支 b 建立並切換分支 git checkout b dev 第二種方式 git branch dev 建立dev分支,但沒有切換分支 git checkout dev 切換dev分支 三 檢視分支 dev 表示當前在dev分支上 git bran...
Git命令之 分支操作
git命令之 分支操作。分支是git作為版本控制系統的乙個最大的優勢,git的分支操作速度快 代價小操作方便,下面介紹下git關於分支操作的使用方法 檢視本地分支 git branch 檢視遠端分支 git branch r 建立本地分支 git branch 新的分支名稱 注意,此操作只會建立本地...