gitlab提交合并_使用Gitlab进行代码管理(Merge requests)

884180ef080392fe2148333909bae474.png
官网

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

Gitlab环境搭建

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

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

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

32b8a98026894376c317d7c1de155a93.png
查找镜像

根据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了

2842264798611a3837447e6ada3df961.png
首页

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

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

a52f2d05c5fe0c2c43a81feffe450553.png
开始页面

Merge requests

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

0695573ff703c420491b0fa027023515.png
配置界面
b62af957340fb12fe11e89a87632c313.png
请求配置
翻译一下之后:
c2001e3675b02035773d7122ac4ea05f.png
请求配置-中文版

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

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

发起一次合并请求

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

2dfd40c849ff1d9582c840dbeff89220.png
克隆代码
b6c5ed98acebcf32f757c09c7e55dfbd.png
本地操作

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

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

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

git branch tmp

git checkout tmp

3f98c8999f1bdbf3e9fb0cb826e6397e.png
切换分支

下面在tmp分支上进行修改

vim 1.py
git add 1.py
git commit -m 'add for'
git push --set-upstream origin tmp

a48788f43a1540911ceed9fc1db0ff96.png
分支操作

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

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

a0e58a38f1cf89207d3ae6220d80a064.png
合并请求

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

d58197650b69f3db1a54177592022ce9.png
合并请求_中
9de1d40c066541f2d4406a44427d25fe.png
合并请求_英

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

16f8acd77fe7100bdf4e62d4d1187e30.png
请求

点击Merge就可以合并了

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

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

f6980f92e9e6d86b0147d3e16cb50b32.png
添加用户
f483aa51dfcf00884c3c625456551d1a.png
身份信息

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

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

8226dddbaa5ecc83d7db1353c2158025.png
发起合并

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

欢迎关注我的公众号:zx94_11

使用 `github.com/xanzy/go-gitlab` 合并分支的过程与使用 `go-git` 类似,只需稍作修改即可。以下是一个示例代码,用于合并 GitLab 存储库的分支: ```go package main import ( "fmt" gitlab "github.com/xanzy/go-gitlab" ) func main() { // 设置GitLab API访问令牌 token := "YOUR_GITLAB_API_TOKEN" // 设置GitLab存储库信息 git := gitlab.NewClient(nil, token) git.SetBaseURL("https://gitlab.com/api/v4") projectID := "YOUR_GITLAB_PROJECT_ID" branchName := "BRANCH_TO_MERGE" // 创建新的合并请求 mr, _, err := git.MergeRequests.CreateMergeRequest( projectID, &gitlab.CreateMergeRequestOptions{ Title: gitlab.String("Merge branch " + branchName), Description: gitlab.String("Merge branch " + branchName), SourceBranch: gitlab.String(branchName), TargetBranch: gitlab.String("master"), }, ) if err != nil { fmt.Println(err) return } // 提交合并请求 _, _, err = git.MergeRequests.AcceptMergeRequest( projectID, mr.IID, &gitlab.AcceptMergeRequestOptions{ MergeCommitMessage: gitlab.String("Merge branch " + branchName), }, ) if err != nil { fmt.Println(err) return } fmt.Println("Merge request successfully created and accepted") } ``` 在上面的示例代码中,我们首先设置了GitLab API访问令牌、GitLab存储库信息和要合并的分支名称。然后,我们创建了一个新的合并请求,并提交了该请求。最后,我们输出了一条成功消息。 请注意,此示例代码仅用于演示目的,实际情况下需要进行错误处理和更多的安全检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值