目录
一,分支设置
第一步,创建项目和分支。
第二步,设置分支merge权限
二、具体操作
第一步 开发分支代码修改,提交,push到远端
第二步 create merge request
第三步 code review
第四步 查看所有合并请求
三、多人 review
gitlab 社区版 不支持多人(三人及以上) review,但我找了 一个奇怪的方式实现。本文参考企业版多人 review 配置博客【基于gitlab的code review - 简书 】,review 的基础设置一样,社区版的多人 review 在基础配置的基础上,写在博客最后。
例如:release,develop,master 分支
是实现 review 的关键,只有有 merge 合并权限的责任人才能提交 merge 合并请求,没有 merge 合并权限的只能提交 merge 请求,等待有权限的 review 后合并。
具体设置位置:
【项目首页 -> Settings -> Repository -> Protected Branches】
将 master,develop,release 三个分支设置成只允许 maintainers merge,不允许任何人 push,也即杜绝了从本地 merge,push 到远端的情况
feature 的开发分支不做具体的保护设置,即开发人员可以修改后,add,commit,push
开发人员 push 到远端后,gitlab 上新 push 的 feature 分支,会有一个按钮 【创建合并请求】,点击发起 merge 请求
进到页面
点击 【更改分支】进入分支选择页面,选择 合并分支 和 被合并分支,这里选择的是 feature-test 到 develop
然后点击 【compare branches and continue】,回到合并请求页面。选择 指派人 和 审核者
备注:社区版只能选择一个 指派人(assignee) 和 审核者(reviewer ),多人 review 的方法后面介绍,这里先选上指派人和审核者,选择规则:
指派人 :选择项目的负责人(maintainer),此人拥有合并请求的权限
审核者: 选择开发者自己之外的另一个开发者
选择完后点击【创建 合并请求】发起合并请求
收到通知的 reviewer 通过 合并请求 页面可以看到代码修改记录,并增加 commond,其他人也可以通过commond 进行讨论。
最后项目负责人可以点击 【合并】 通过 或者 点击右下角的 【关闭 合并请求】不通过合并请求。
在项目页面的 合并请求 页面可以看到所有 开发 状态,关闭 状态和 已合并 状态的 合并请求
社区版多人 review 是在前面 第一、二步的基础上实现的,既:
1、设置只有 maintainer 有 merge 权限,develop 没有 merge 权限
2、创建合并请求的时候按上面的规则选指派人和审核者:
指派人 :选择项目的负责人(maintainer),此人拥有合并请求的权限
审核者: 选择开发者自己之外的另一个开发者
3、审核者没有合并权限,但是有 review 的权限。审核者看完代码后,在右侧选择下一个审核者
同理下一个审核者看完代码后再在右侧选择下一个 审核者。
4、最后项目负责人(maintainer) 根据 reviewer 数量进行 merge。