Gitlab 2.4:项目分支应用(Branch)

2.4:项目分支应用(Branch)

在代码Clone和Push时,默认都是直接在master分支上进行操作,但在实际使用中,master分支的代码是面向生产环境的、经过测试的稳定版本,而新版本的开发都是在另外的分支上进行的(比如Develop分支)。

Master分支的版本会比Develop分支的版本低。

开辟另外的Develop分支,可以实现:

  • 新版本的开发在Develop分支上进行,当新版本提交时,让Jenkins等持续发布系统从该分支获取新版本代码,部署在测试环境中进行测试;
  • 当Develop分支的代码通过测试,认为可以部入生产环境时,由开发提出合并请求(Merge),经领导同意后合并到Master分支;
  • Master分支在合并了Develop分支后,也就实现了版本更新,这时就可以考虑往生产环境部署,以实现新功能了。

2.4.1:创建分支

在项目页面,点击Branch,进入项目分支页面:

Gitlab 2.4:项目分支应用(Branch)_第1张图片

点击 New branch:

Gitlab 2.4:项目分支应用(Branch)_第2张图片

创建名为develop的分支:

Gitlab 2.4:项目分支应用(Branch)_第3张图片

2.4.2:从 develop 分支克隆项目

在克隆时使用-b develop指定分支:

root@node111:/workspace# git clone -b develop [email protected]:test-software/test-app1.git

查看当前分支:

root@node111:/workspace# cd test-app1/
root@node111:/workspace/test-app1# git branch
* develop

2.4.3:将代码更新提交到 develop 分支

更新代码到v3:

root@node111:/workspace/test-app1# vim index.html 

testapp-1 page v1

testapp-1 page v2

testapp-1 page v3

提交:

当前分支为branch,在git push时也会上传到develop分支。

root@node111:/workspace/test-app1# git add .
root@node111:/workspace/test-app1# git commit -m "v3"
root@node111:/workspace/test-app1# git push

2.4.4:验证 master 和 develop 分支的版本差异

Gitlab 2.4:项目分支应用(Branch)_第4张图片

2.4.5:发起 Merge Request(合并请求)

当develop分支的代码通过测试后,就可以发起合并请求,由领导批复将其合并到master分支。

develop分支的代码更新由yqc用户编写,所以由yqc用户发起合并请求。

yqc用户登录Gitlab,进入项目页面,点击 Create merge request:

Gitlab 2.4:项目分支应用(Branch)_第5张图片

填写合并请求:

Gitlab 2.4:项目分支应用(Branch)_第6张图片

2.4.6:合并分支

开发者发起合并请求后,审批人会受到相关邮件通知,点击链接进入Gitlab:

Gitlab 2.4:项目分支应用(Branch)_第7张图片

立即合并:

Gitlab 2.4:项目分支应用(Branch)_第8张图片

合并通过后,合并请求的发起者会收到相关邮件通知:

Gitlab 2.4:项目分支应用(Branch)_第9张图片

2.4.7:验证 master 和 develop 分支的版本是否一致

master分支:

Gitlab 2.4:项目分支应用(Branch)_第10张图片

develop 分支:

Gitlab 2.4:项目分支应用(Branch)_第11张图片

在合并之后,就可以安排 Jenkins 从master分支获取代码并部署到生产环境了。

你可能感兴趣的:(Gitlab,gitlab)