本文仅为说明工作中的GitLab Pull Request工作流,做以演示。
Step 1: 创建项目
其中需要注意: 如果属于Group级的项目,也就是属于多人配合的项目,建议Namespace使用Group name,另外Visibility默认为Internal.

Step 2:源仓库的构建
我们接下来按照步骤来创建一个自己的项目:

按照步骤操作,我们即可以创建或者导入一个项目成功:

源仓库建立后,我们需要注意这时这个项目是属于整个Group的,每个开发需要fork一份源代码到自己的GitLab账号中,作为自己开发使用的仓库。点击右上角的fork就可以发现代码成功fork到了自己的名下:

这时你就可以在自己的项目下随便折腾了。
Step 3:在自己的项目上进行开发
这一步应该不用教,git clone,git add , git commit , git push ,如果需要的话在自己的项目上建立branch,一切都由自己的习惯决定。
写一个简单的模板:

这时大家可以在origin上面为所欲为了。
Step 4:向管理员提交pull request
假设我完成了某项功能,需要向线上版本进行提交,首先进行git fetch --all,拉取下来upstream,也就是线上版本的代码,并且将线上的代码合并到自己的分支上,解决冲突。

再次进行测试,觉得没问题后就可以push到GitLab中了。接下来请求管理员把自己仓库的分支合并到原仓库的分支下,这就是pull request。

点击这里进入merge request,并且点击New Merge Request:

将自己的分支提交到主代码的分支下。

提交一个Merge Request,请记得写清楚提交的理由,分配需要为你去做Review的同事。

此外,还可以在评论框中去at其他的同事,也可以在Commit和Change里看到最新的改变。
Step 5: Code Review
被assign或者at的同事都会收到邮件要求review,那么也会进入到如上的界面中,各位就可以进行Code Review了:

在这里,各位可以针对某一行提出自己的意见,也可以在评论里发表意见。如果没有问题,可以输入lgtm(looks good to me),如果各位都认为没问题,就可以Accept Merge Request了。于是就会看到The Merge Request has been accepted,这时也就提交到了主代码上。
如果代码被评论过后,评论者也会收到消息,修改后push的代码会自动提交到同一个merge request里。
6. 番外篇
各位也可以对自己关注的项目star,这样在自己的消息流中收到动态,看到一些项目的最新进展。
另外,希望大家注意要养成多commit的习惯,不要让每个commit承担太多的内容。
以上,就是一个GitLab协同工作流的基本步骤。希望大家使用愉快
网友评论