Git分支:master分支和開發版本分支

問題git

在使用git時,假如遠程倉庫有 devmaster 兩個分支,master 做爲一個穩定版分支,可用於直接發佈產品,平常的開發則 pushdev 分支,那本地是否是要從 dev 分支中建立一個本地分支,而後在這個分支的 push 的動做是默認推到遠程 dev 分支上?github

解惑服務器

1、遠程倉庫有masterdev分支code

1.克隆代碼開發

git clone git@github.com:XX/master-dev.git  
#這個git路徑是無效的,示例而已

2. 查看全部分支get

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分支,而後就是常規的開發

更多it

2、假設遠程倉庫只有mater分支ast

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分支

7. 推薦書籍 progit.pdf
書籍格式和語言:中文、英文、PDF、ePub
下載地址:http://git-scm.com/book
中文版地址:https://git-scm.com/book/zh/v2

相關文章
相關標籤/搜索