詳細可以參考個人博客:Git分支學習
一、遠程倉庫有master和dev分支
1、克隆代碼
git clone https://github.com/master-dev.git # 這個git路徑是無效的,示例而已
2、查看所有分支
git branch --all
默認有了dev和master分支,所以會看到如下三個分支:
master[本地主分支]
origin/master[遠程主分支]
origin/dev[遠程開發分支]
新克隆下來的代碼默認master和origin/master是關聯的,也就是他們的代碼保持同步,但是origin/dev分支在本地沒有任何的關聯,所以我們無法在那裏開發。
3、創建本地關聯origin/dev
的分支
git checkout dev origin/dev
創建本地分支dev,並且和遠程origin/dev分支關聯,本地dev分支的初始代碼和遠程的dev分支代碼一樣。
4、切換到dev分支進行開發
git checkout dev # 這個是切換到dev分支,然後就是常規的開發
爲了更好的理解,最好繼續看看下文。
二、假設遠程倉庫只有mater分支
1、克隆代碼
git clone https://github.com/master-dev.git # 這個git路徑是無效的,示例而已
2、查看所有分支
git branch --all
默認只有master分支,所以會看到如下兩個分支:
master[本地主分支]
origin/master[遠程主分支]
新克隆下來的代碼默認master和origin/master是關聯的,也就是他們的代碼保持同步
3、創建本地新的dev分支
git branch dev # 創建本地分支
git branch # 查看分支
這時會看到master和dev,而且master上會有一個星號。這個時候dev是一個本地分支,遠程倉庫不知道它的存在,本地分支可以不同步到遠程倉庫,我們可以在dev開發,然後merge到master,使用master同步代碼,當然也可以同步。
4、發佈dev分支
發佈dev分支指的是同步dev分支的代碼到遠程服務器。
git push origin dev:dev # 這樣遠程倉庫也有一個dev分支了
5、在dev分支開發代碼
git checkout dev # 切換到dev分支進行開發
開發代碼之後,我們有兩個選擇:
第一個:如果功能開發完成了,可以合併主分支
git checkout master # 切換到主分支
git merge dev # 把dev分支的更改和master合併
git push # 提交主分支代碼遠程
git checkout dev # 切換到dev遠程分支
git push # 提交dev分支到遠程
第二個:如果功能沒有完成,可以直接推送
git push # 提交到dev遠程分支
注意:在分支切換之前最好先commit全部的改變,除非你真的知道自己在做什麼。
6、刪除分支
git push origin :dev # 刪除遠程dev分支,危險命令哦
下面兩條是刪除本地分支:
git checkout master # 切換到master分支
git branch -d dev # 刪除本地dev分支
詳細可以參考個人博客:Git分支學習