开发与测试整体过程中的Git分支merge流程

         

Git分支merge之开发流程

首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支。然后可能按功能进行分配,由不同的开发人员分别将master分支拉出来改作其新的开发分支,比如叫func1分支、func2分支之类的名字。

对应的QA负责测试各自对应开发所写的功能模块,假设有QA两名,分别为tester1和tester2,当他们接到各自开发dev1和dev2写的两个分支func1分支和func2分支后:

1. 如果二人在不同的环境上测试,则分别拉出来master分支成为其新的test分支——test1分支和test2分支,并将对应的func1和func2分支代码与自己建立的test1和test2分支代码进行merge;

2. 如果两人共用一个环境进行测试,且事先没有建立test分支,则首先拉出来master分支成为新的test分支,然后将func1和func2分支的代码与test分支的代码进行merge。

至此测试环境上已经有merge好的可供测试的代码分支,我们可以对测试环境进行部署并进行第一轮测试。

Git分支merge之测试流程

第一轮测试过程中,如果发现问题,提交jira,跟踪bug,开发修改代码后更新分支,QA要将新的func分支代码merge进其test分支后再进行测试。以此循环下去,直到第一轮测试结束并确认无误后,由专门的人员(非开发人员)将各个func分支代码merge到一个总的dev分支(若merge过程中遇到冲突则由开发进行解决),然后将dev分支给QA进行第二轮测试。

第二轮测试过程中,如果发现问题,提交jira,跟踪bug,开发修改代码后更新其负责的相应的func分支并告诉专门的人员(非开发人员)将其func分支再merge到dev分支中,然后将dev分支发给QA,QA将该新的dev分支merge到其test分支后再进行测试,如此往复。

第三轮确认测试,第二轮测试结束后,确认没有问题了,将由专门的人员(非开发人员)再次将各个func分支merge到一个release分支中,由QA进行上线前的最后一轮在线确认测试。在最接近真实环境的环境进行在线确认,确认无误后,内部发布上线,在线上环境进行确认。无误后,确认产品发布并由专门的人员(非开发人员)将release分支代码merge到master分支和dev分支。

至此,产品成功发布上线,master分支和dev分支代码更新完毕。

Git之QA操作

作为QA,在这一整体的流程中,需要确保其负责的测试分支是最新的,需要实时的merge开发所给的代码。步骤如下:

1. 从Gitlab上克隆仓库到本地;

2. 进入仓库并创建test分支在本地;

3. 从本地的master分支切换到新建的test分支;

4. fetch一下远端代码;

5. 将开发分支merge到test分支上(若merge过程中遇到冲突须由开发来对冲突部分代码进行确认并解决);

6. Push test分支到远端;

7. 部署代码到服务器端(过程类似于以上过程,可由公司内部系统自动部署在服务器端)并进行测试。

以上过程可以下载并使用TortoiseGit这一软件完成,也可以下载安装Git并在Git Bash中通过命令行的方式完成。

开发与测试整体过程中的Git分支merge流程的更多相关文章

  1. 在Windows Server 2008 R2下搭建jsp环境(四)-在测试的过程中可能出现的问题

    环境基本部署好了之后,便开始测试,一定要让他经得起"考验",他才会值得你的信赖.Tomcat服务器部署成功的的验证方法(默认端口的情况下): 1.loacalhost:8080 2 ...

  2. 在Visual Studio 中使用git——分支管理-下(九)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  3. 在Visual Studio 中使用git——分支管理-上(八)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  4. Eclipse中修改GIT分支名称

    修改GIT分支名称: 1.切换到要修改名称的分支: 2.右击项目——Team——Advanced——Rename Branch…: 3.在弹出的Branch Rename框中选中要修改名的分支——Re ...

  5. Eclipse中合并GIT分支

    合并GIT分支: 1.  切换到主分支: 2.  右击项目——Team——Merge…: 3.  在弹出的Merge框中选择要合并的分支——Merge: 4.  合并后如果出现冲突,右击项目——Tea ...

  6. Eclipse中删除GIT分支

    删除GIT分支: 删除分支时不能直接删除本分支,所以要切换到另一分支,即非删除分支. 1.右击项目——Team——Advanced——Delete Branch...: 2. 在弹出的Delete b ...

  7. Eclipse中切换GIT分支

    切换GIT分支: 右击项目——Team——Switch To——选择你要切换的分支.

  8. Git分支merge和rebase的区别

    Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 原理 如下: 假设你现在基于远程分支&quo ...

  9. git分支merge冲突 error: you need to resolve your current index first

    问题: 执行切换代码分支 git checkout featrue_2019-06-24 ,报错如下: error: you need to resolve your current index fi ...

随机推荐

  1. map容器

    map容器一般用于对字符串进行编号,主要用于建图方面,例如把城市名按数字进行编号 #include"stdio.h" #include"string.h" #i ...

  2. Java基础(30):String对象的常用方法与实例(String类)

    Java 中 String 类的常用方法 Ⅰ String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等,下面我们就来领略它的强大之 ...

  3. ruby的在ubuntu上的安装

    apt (Debian or Ubuntu) Debian GNU/Linux and Ubuntu use the apt package manager. You can use it like ...

  4. char 和 varchar2 区别

    char 与 varchar2 区别 a:char长度固定而varchar2长度可变 b:char的遍历效率要比varchar2的效率稍高 c:char 浪费空间节省时间 varchar2浪费时间节省 ...

  5. Mysql索引介绍及常见索引(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别

    Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要 ...

  6. mysql长连接和短连接的问题 转

    什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接-> ...

  7. logstash的性能测试

    logstash有简单的批量生成插件.generator.详情见官网:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-g ...

  8. 夺命雷公狗---微信开发56----微信js-sdk接口开发(3)所有接口功能

    按照上节课程里面的介绍,我们可以先将刚才在signatrue.php里获取到的信息填写进jssdk.htm模版文件里填写各个权限的参数 jssdk.htm代码如下: <!DOCTYPE html ...

  9. css 标签 垂直居中

    <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml"> <head> < ...

  10. 在linux中的virtualbox无法挂载usb设备的解决方法

    方法来源于网络. 在安装完virtualbox之后,virtualbox会建立一个名为 vboxusers 的组,将你的用户名加入到该组即可. 命令参考: #usermod -a -G vboxuse ...