代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情。如何借助现有工具在团队内部形成代码review的流程与规范,是team leader或技术管理者需要考虑的问题。本文分享一种基于Gitlab代码merge流程的code review方法,以供参考与探讨。如有更好的方法,欢迎交流。
更多学习案例尽在我的github
项目配置分支保护
在项目页面左侧菜单栏 Settings -> Repository, 进入“Protected Branches”部分配置分支保护,如下图所示
在这里可以针对每个分支,设置允许什么角色可以merge,允许什么角色可以push,选项包括三个:“Masters”, “Developers + Masters”, “No one”。这里设置成只允许master可以直接push与merge这几个常设分支的代码。(如果更严格一点,可以将“Allowed to push”设置成“No one”)
Review流程
开发者提交代码
本地切到develop分支, 拉取最新代码(相关命令如下,GUI工具操作自行查相关文档)
git checkout develop #切换到develop分支
git pull #拉取最新代码
从develop分支切出子分支
git checkout -b feature-1101 #从当前分支切出子分支,命名为"feature-1101"
编码、本地自测完之后,提交子分支到远程仓库
git add * #加入暂存区
git commit -m "commit msg" #提交到本地仓库
git push origin feature-1101 #提交到远程仓库
开发者提交merge
在项目主页面,依次点击左侧“Merge Requests”(下图1),“New merge request”(下图2),打开新建Merge请求页面3.2 发起Merge请求(开发者负责)
在新建Merge请求页面,选择merge的源分支,及目标分支,如下图源分支为“feature-1101”,目标分支为“develop”,点击“Compare branches and continue”按钮进入对比与提交页面
在对比与提交页面,可以点击“Changes” tab查看本次修改(这里我为了演示,只是加了两个换行),确认无误,点击“Submit merge request”按钮,提交merge请求
提交之后,将结果页面的浏览器地址发到团队即时通讯群(如钉钉),并@相应的同事申请review
审核者code review 并提交建议
审核者可以在消息请求里面看到提交merge。
同时查看change,并可以提交意见
开发者解决comment,审核者完成merge
review建议完成之后,开发者需要去解决提交的comment,如下图所示:
全部完成之后,审核者确认无误,点击merge按钮,合并代码。
总结
团队协作,流程、规范很重要,不同的团队可能有不同的适用流程与规范。此文分享了基于Gitlab代码review的整个流程,希望对团队研发协作有一定参考价值,也欢迎一起探讨、交流。