1. 程式人生 > >git如何利用分支進行多人開發

git如何利用分支進行多人開發

轉 ::https://www.cnblogs.com/kexianting/p/8525732.html

 

在使用git時,假如遠端倉庫有 dev 和 master 兩個分支,master 作為一個穩定版分支,可用於直接釋出產品,日常的開發則 push 到 dev 分支,那本地是不是要從 dev 分支中建立一個本地分支,然後在這個分支的 push 的動作是預設推到遠端 dev 分支上?  
解惑  
一、遠端倉庫有master和dev分支   1.克隆程式碼   git clone [email protected]:XX/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上原本只有maser分支, 拉倒本地新建dev分支, 然後通過上述第二種方式將dev分支推到git伺服器, git伺服器上有master和dev兩個分支, 一般開發是會在本地的dev分支上開發, 然後推送到git伺服器上dev分支, 並且在master分支上和本地的dev分支合併, 並將本地的master分支推送到git伺服器上的mater分支上, 作為釋出的mater分支)