开发与测试整体过程中的Git分支merge流程
开发与测试整体过程中的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流程的更多相关文章
- 在Windows Server 2008 R2下搭建jsp环境(四)-在测试的过程中可能出现的问题
环境基本部署好了之后,便开始测试,一定要让他经得起"考验",他才会值得你的信赖.Tomcat服务器部署成功的的验证方法(默认端口的情况下): 1.loacalhost:8080 2 ...
- 在Visual Studio 中使用git——分支管理-下(九)
在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...
- 在Visual Studio 中使用git——分支管理-上(八)
在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...
- Eclipse中修改GIT分支名称
修改GIT分支名称: 1.切换到要修改名称的分支: 2.右击项目——Team——Advanced——Rename Branch…: 3.在弹出的Branch Rename框中选中要修改名的分支——Re ...
- Eclipse中合并GIT分支
合并GIT分支: 1. 切换到主分支: 2. 右击项目——Team——Merge…: 3. 在弹出的Merge框中选择要合并的分支——Merge: 4. 合并后如果出现冲突,右击项目——Tea ...
- Eclipse中删除GIT分支
删除GIT分支: 删除分支时不能直接删除本分支,所以要切换到另一分支,即非删除分支. 1.右击项目——Team——Advanced——Delete Branch...: 2. 在弹出的Delete b ...
- Eclipse中切换GIT分支
切换GIT分支: 右击项目——Team——Switch To——选择你要切换的分支.
- Git分支merge和rebase的区别
Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 原理 如下: 假设你现在基于远程分支&quo ...
- 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 ...
随机推荐
- Leetcode: Longest Absolute File Path
Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...
- zabbix监控windows主机网卡流量
监控windows主机网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 客户端配置:(172.30.1.120,wi ...
- meta标签的理解
一直习惯的使用meta标签,还真么认真理解过,至少英文意思都还没弄明白... 下面是摘自网络的解释: 互动百科: 元素可提供相关页面的元信息(meta-information),比如针对搜索引擎和更新 ...
- SQL静态
静态 1.普通成员普通成员都是属于对象的用对象调用 2.静态成员静态成员是属于类的用类名调用 class FenBi{public int length;//普通成员public string col ...
- POJ 3243 Clever Y(离散对数-拓展小步大步算法)
Description Little Y finds there is a very interesting formula in mathematics: XY mod Z = K Given X, ...
- springday03-go1
springday02项目下新建包annotation11.复制xml文件到包annotation1下,并添加组件扫描方式代码2.Waiter类实现序列化接口,构造函数,并使用特定注解标记waiter ...
- sql 根据一个表更新 另一个表的例子及可能遇到的问题
例子: update a set a.name=b.name1 from a,b where a.id=b.id 例子延伸:更新的时候会把字符串 转为科学计数法 怎么办? 答:用 cast 转换一下 ...
- 给uefi引导的方式安装archlinux
基本就是照着官方的wiki来的,不过官方的wiki的内容太杂了,或许我们需要的是一个瀑布似的流程. 其实大体上与mbr引导的方式类似,只凭借回忆说一下有区别的地方,等下一次有机会的时候再验证一下. 换 ...
- How to change Jenkins default folder on Windows?
http://stackoverflow.com/questions/12689139/how-to-change-jenkins-default-folder-on-windows accepted ...
- PHPCMS V9 学习总结
在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示 ...