git團隊協做

hi,team,咱們目前使用的是git作項目管理,它是很是優秀的版本控制工具,使用好能夠極大提升咱們團隊開發效率。可是,出現沒必要要的衝突和代碼丟失就要費時解決這些可避免的問題。html


git開發流程


 

這個流程圖是應用Git Flow的標準流程,能夠看到,不一樣的分支在產品研發和上線的不一樣階段有不一樣的做用,扮演了不一樣的角色。
git

咱們團隊人數很少,按照實際須要想了這樣一套流程工具

結合圖片,簡單介紹一下不一樣分支的職責。性能

1.Master分支
這個分支是發佈到生產環境的代碼,這個分支只能從其餘分支合併,不能在這個分支直接修改。
2.Develop分支
這個分支是主開發分支,包含全部要發佈到下一個Release的代碼,這個主要合併自其餘分支,好比Feature分支。
3.Feature分支
Feature 分支主要用來開發一個新的功能,一旦開發完成,合併回Develop分支,而且進入下一個Release,Feature分支能夠選擇刪除或者保留。
4.Test分支
當須要發佈一個新Release的時候,基於Develop分支建立一個Release分支,Release分支在測試過程當中可能會修改,完成Release後,合併到Master和Develop分支。
5.Hotfix分支
當在Production發現新的Bug時候,須要建立一個Hotfix分支, 完成Hotfix後,合併回Master和Develop分支,因此Hotfix的改動會進入下一個Release。學習

Git Flow使用原則


 

Master分支是線上穩定分支,沒有bug,沒有很大的性能問題的代碼,做爲根基。每次上線以後進行一次新的拉分支操做。測試

Test一般用做測試分支,這是由Develop分支開發好以後合併到測試,統一交由測試部門測試的代碼,該分支只 
在相似於線上的環境運行。Test分支發佈後出現問題,不要合併主分支,直接在Test分支修改在測試,Develop分支代碼污染,經過測試以後推送到其餘分支上。網站

Develop分支是開發應用的主分支,多人開發環境能夠第一次統一代碼版本的規範,以子分支的方式讓各開發人員創建本身的分支,必須天天或者短時間進行合併,若是修改公共代碼,請及時告知相關分支下開發人員,有效避免大規模重途。spa

全部的功能開發都在Feature分支進行,而後合併到Develop分支,建立本身的分支開發時統一規範,例如:/user/zy/20180318。不相關的文件不要往主分支上push,由於這有可能讓別人的代碼環境遭到破環,在提交時就一直報錯,衝突以內的,解決起來很麻煩。.net

//新建分支
git checkout develop
git pull origin develop
git checkout -b myfeature
 
//在分支上開發
git add ***
git commit -m "*****"
 
//在分支開發過程當中合併develop分支到本分支(先把本身的工做commit到本地)
git checkout develop
git pull origin develop
git checkout myfeature
git merge develop
 
(若是沒有衝突,就繼續開發,若是有衝突,執行下面過程)
首先在本地解決衝突,再把衝突解決commit
git add ***
git commit -m "*****"
 
//在分支開發結束,須要將本分支合併到develop分支(先把本身的工做commit到本地)
git checkout develop
git pull origin develop
git merge myfeature
 
(若是沒有衝突,就推送到遠程)
git push origin develop
(若是有衝突,則解決衝突,再commit,並推送到遠程:)
git add ***
git commit -m "*****"
git push origin develop

 若是想學習更多git的操做。能夠參考該網站:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000版本控制

補充:git拉取遠程分支並建立本地分支

1、查看遠程分支

使用以下Git命令查看全部遠程分支:

git branch -r
 

2、拉取遠程分支並建立本地分支

方法一

使用以下命令:

git checkout -b 本地分支名x origin/遠程分支名x
 
$ git checkout -b hhhh master
 

 

以master爲模板,建立hhhh分支,而且切換到hhhh分支

使用該方式會在本地新建分支x,並自動切換到該本地分支x。

相關文章
相關標籤/搜索