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。

相关文章
相关标签/搜索