使用Gitlab进行代码管理(Merge requests)

使用Gitlab进行代码管理(Merge requests)
官网

从Gitlab官网的图中可以看到Gitlab支持软件开发的全流程。

Gitlab环境搭建

由于准备在内网中使用,所以使用的是开源版。

网上有很多的搭建方式,但是为了简单直接采用官网的Docker镜像进行搭建。

可以访问Docker Hub或者直接使用docker search gitlab来进行搜索

使用Gitlab进行代码管理(Merge requests)
查找镜像

根据STARS和描述选择gitlab/gitlab-ce

docker run -d --name gitlab -p 8443:443 -p 9000:9000 -p 8022:22 --restart always -v /home/zx/data/gitlab/config:/etc/gitlab -v /home/zx/data/gitlab/logs:/var/log/gitlab -v /home/zx/data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

使用docker运行该镜像,简单解释一下各个参数的作用:

--name:指定容器的名称

-p:端口映射

—restart always:出现异常后自动重启

-v:挂载至本地位置

执行完成后等待一段时间就可以通过页面访问本地搭建的Gitlab了

使用Gitlab进行代码管理(Merge requests)
首页

自行注册一个账号后就可以登录了。

登录之后点击New project就可以自行创建一个新的项目了

使用Gitlab进行代码管理(Merge requests)
开始页面

Merge requests

首先介绍合并请求这一个功能,如果你是项目的管理者, 可以进入Settings中找到Merge requests的配置

使用Gitlab进行代码管理(Merge requests)
配置界面
使用Gitlab进行代码管理(Merge requests)
请求配置
翻译一下之后:

使用Gitlab进行代码管理(Merge requests)
请求配置-中文版

由于没有强制的一支线开发的要求,所以不采用变基的方式进行合并,所以选择第一个选项合并提交

下面的选项看上去蛮有用的,所以全钩上了

发起一次合并请求

首先将代码从远端克隆至本地

使用Gitlab进行代码管理(Merge requests)
克隆代码
使用Gitlab进行代码管理(Merge requests)
本地操作

git clone http://123.56.13.233:9000/z05035/gitlab_test.git

现在项目已经在本地了,由于是刚克隆下来的,所以默认在master分支上

我们从当前的的节点拉出一个新的分支tmp,并切换至tmp分支

git branch tmp

git checkout tmp

使用Gitlab进行代码管理(Merge requests)
切换分支

下面在tmp分支上进行修改

vim 1.py

使用Gitlab进行代码管理(Merge requests)
分支操作

根据提示信息一步步完成分支的创建,修改,提交

下面来到gitlab服务器发起合并请求

使用Gitlab进行代码管理(Merge requests)
合并请求

gitlab自动识别到我们新建了一个分支,所以它会有一行蓝色的创建合并的语句,以下分别是中英文的提交请求页面

使用Gitlab进行代码管理(Merge requests)
合并请求_中
使用Gitlab进行代码管理(Merge requests)
合并请求_英

写一下描述就可以提交了,大部分内容没有特殊需求可以不用更改

使用Gitlab进行代码管理(Merge requests)
请求

点击Merge就可以合并了

不过这样就自己的项目自己合并没什么意义,所以现在新建一个用户来进行提交

把新创建的用户加入到项目的成员中,并且身份是开发者

使用Gitlab进行代码管理(Merge requests)
添加用户
使用Gitlab进行代码管理(Merge requests)
身份信息

成员表中就增加了新创建的那个用户了。

下面用开发者账户发起一个合并请求

使用Gitlab进行代码管理(Merge requests)
发起合并

可以看到请求无法直接被合并,需要有写权限的用户才能合并,切换回管理员账户进行查看,发现按钮变绿了。可以正常合并和提交了。

欢迎关注我的公众号:zx94_11