前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gitlab Merge request方式提交代码

Gitlab Merge request方式提交代码

作者头像
xiangzhihong
发布2022-11-16 14:11:44
1K0
发布2022-11-16 14:11:44
举报
文章被收录于专栏:向治洪向治洪

1,背景

首先我想先来讲讲什么是分支合并请求Merge Request(也可叫Pull Request,下文中全用Merge Request或其缩写MR指代),以及它有什么作用(如果你对此概念有所了解,你完全可以跳过What is it)。

MR(或者PR)就是指将你开发的代码的内容以一种请求合并的方式来合并到它想去的分支上,这个请求的接收人(Reviewer)一般是项目、团队的负责人或者其他成员。

一般来讲,开发团队都对Code Review(代码复审/审查/检视)的重视程度比较高。因为Code Review的确实能够提升代码的质量以及减少BUG的产生率。

Merge Request在Code review中就是重要的一环。如果使用MR来发起合并请求,那么在代码审查时就完全可以以你本次请求的合并内容为单元进行代码审查,如果审查通过那么就成功合并。审查交由Reviewer进行,他可以是请求的接收人。如果团队多个成员坐在一起来看你的本次合并内容,那么自然Reviewer就是这些人了。一份代码经过多人的审查,代码问题发生率自然会降低,开发者在开发时也会保持良好的编码习惯,毕竟没人想被别人指点自己的代码。

不过有些团队可能并不重视Merge Request,最多也就是在dev分支(大家共用的开发分支)上检出一个新分支,然后在新分支上进行开发,然后commit -> push最后merge到 dev分支上就完事了。

下面我们将以Merge Request为目标,从建立仓库开始讲述一个完整的git工作流以及其中的git操作。

2,使用说明

可通过追踪issues创建branch,也可直接clone master之后git branch。

代码语言:javascript
复制
[lingkai.meng@etxnode01 menglingkai_test]$ git 
b    ca   ci   co   cp   dt   l    pl   ps   st   
[lingkai.meng@etxnode01 menglingkai_test]$ git b test_0331
[lingkai.meng@etxnode01 menglingkai_test]$ git add .
[lingkai.meng@etxnode01 menglingkai_test]$ git co -m "test_0331"
D	a
A	adduser_sh/abc.csv
A	adduser_sh/projects_add.py
D	adgdg
A	playbook/playbook_chrony.ymal
A	playbook/playbook_zabbix.ymal
Switched to branch 'test_0331'
[lingkai.meng@etxnode01 menglingkai_test]$ git ps origin test_0331
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: To create a merge request for test_0331, visit:
remote:   http://***/lingkai.meng/menglingkai_test/-/merge_requests/new?merge_request%5Bsource_branch%5D=test_0331
remote: 
To http://***/lingkai.meng/menglingkai_test.git
 * [new branch]      test_0331 -> test_0331
[lingkai.meng@etxnode01 menglingkai_test]$ 
在这里插入图片描述
在这里插入图片描述

确认branch代码准确无误之后,可提交代码到master,然后指定某个人进行评审。

在这里插入图片描述
在这里插入图片描述

请注意指定assignee 以及 Reviewer,不建议大家对source branch做删除操作,涉及的命令如下。

代码语言:javascript
复制
heck out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b "test_0331" "origin/test_0331"

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout "master"
git merge --no-ff "test_0331"

Step 4. Push the result of the merge to GitLab

git push origin "master"
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1,背景
  • 2,使用说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档