一、遠(yuǎn)程倉(cāng)庫(kù)有master和dev分支1. 克隆代碼git clone https://github.com/master-dev.git
# 這個(gè)git路徑是無(wú)效的,示例而已
2. 查看所有分支git branch --all
# 默認(rèn)有了dev和master分支,所以會(huì)看到如下三個(gè)分支
# master[本地主分支] origin/master[遠(yuǎn)程主分支] origin/dev[遠(yuǎn)程開(kāi)發(fā)分支]
# 新克隆下來(lái)的代碼默認(rèn)master和origin/master是關(guān)聯(lián)的,也就是他們的代碼保持同步
# 但是origin/dev分支在本地沒(méi)有任何的關(guān)聯(lián),所以我們無(wú)法在那里開(kāi)發(fā)
3. 創(chuàng)建本地關(guān)聯(lián)origin/dev的分支git checkout dev origin/dev
# 創(chuàng)建本地分支dev,并且和遠(yuǎn)程origin/dev分支關(guān)聯(lián),本地dev分支的初始代碼和遠(yuǎn)程的dev分支代碼一樣
4. 切換到dev分支進(jìn)行開(kāi)發(fā)git checkout dev # 這個(gè)是切換到dev分支,然后就是常規(guī)的開(kāi)發(fā)
5. 為了更好的理解,最好繼續(xù)看看下文。二、假設(shè)遠(yuǎn)程倉(cāng)庫(kù)只有mater分支1. 克隆代碼git clone https://github.com/master-dev.git
# 這個(gè)git路徑是無(wú)效的,示例而已
2. 查看所有分支git branch --all
# 默認(rèn)只有master分支,所以會(huì)看到如下兩個(gè)分支
# master[本地主分支] origin/master[遠(yuǎn)程主分支]
# 新克隆下來(lái)的代碼默認(rèn)master和origin/master是關(guān)聯(lián)的,也就是他們的代碼保持同步
3. 創(chuàng)建本地新的dev分支git branch dev # 創(chuàng)建本地分支
git branch # 查看分支
# 這是會(huì)看到master和dev,而且master上會(huì)有一個(gè)星號(hào)
# 這個(gè)時(shí)候dev是一個(gè)本地分支,遠(yuǎn)程倉(cāng)庫(kù)不知道它的存在
# 本地分支可以不同步到遠(yuǎn)程倉(cāng)庫(kù),我們可以在dev開(kāi)發(fā),然后merge到master,使用master同步代碼,當(dāng)然也可以同步
4. 發(fā)布dev分支發(fā)布dev分支指的是同步dev分支的代碼到遠(yuǎn)程服務(wù)器git push origin dev:dev # 這樣遠(yuǎn)程倉(cāng)庫(kù)也有一個(gè)dev分支了
5. 在dev分支開(kāi)發(fā)代碼git checkout dev # 切換到dev分支進(jìn)行開(kāi)發(fā)
# 開(kāi)發(fā)代碼之后,我們有兩個(gè)選擇
# 第一個(gè):如果功能開(kāi)發(fā)完成了,可以合并主分支
git checkout master # 切換到主分支
git merge dev # 把dev分支的更改和master合并
git push # 提交主分支代碼遠(yuǎn)程
git checkout dev # 切換到dev遠(yuǎn)程分支
git push # 提交dev分支到遠(yuǎn)程
# 第二個(gè):如果功能沒(méi)有完成,可以直接推送
git push # 提交到dev遠(yuǎn)程分支
# 注意:在分支切換之前最好先commit全部的改變,除非你真的知道自己在做什么
6. 刪除分支git push origin :dev # 刪除遠(yuǎn)程dev分支,危險(xiǎn)命令哦
# 下面兩條是刪除本地分支
git checkout master # 切換到master分支
git branch -d dev # 刪除本地dev分支