gitlab如何实现代码评审机制(通过角色管理控制)

2017年4月19日
1.添加保护的分支默认是删除不了分支的(删除分支前,最好都打好tag)

Paste_Image.png
gitlab如何实现代码评审机制(通过角色管理控制)_第1张图片
Paste_Image.png

2017年3月15日
1.用时候用sourceTree合并代码代码可能无法成功(将 feature合并到master)
解决:用gitlab代码合并请求

gitlab如何实现代码评审机制(通过角色管理控制)_第2张图片
Paste_Image.png

如果有冲突反向解决即可,参照如下方法
2016年12月4日
基本思想:组员develop提交的代码需要master评审后,通过才可以合并到指定分支
1.实现步骤
第一步设置用户权限


gitlab如何实现代码评审机制(通过角色管理控制)_第3张图片
Paste_Image.png

第二步把新创建的开发分支保护起来feature_V1.3.8


gitlab如何实现代码评审机制(通过角色管理控制)_第4张图片
Paste_Image.png

第三步.组员developer通过feature_V1.3.8分支,创建自己的开发分支进行代码开发(一般是一个功能点,一个分支)
eg组员创建 V1.3.8_testDemo(push到自己远程库分支)
gitlab如何实现代码评审机制(通过角色管理控制)_第5张图片
Paste_Image.png

第四步:组员developer开发完代码后,登陆后台网站进行合并请求
注意合并代码请求都到网页去合并,不要在本地合并(其实你本地合并你也是推送不上去的)
gitlab如何实现代码评审机制(通过角色管理控制)_第6张图片
Paste_Image.png
gitlab如何实现代码评审机制(通过角色管理控制)_第7张图片
Paste_Image.png

第四步:如果有问题可以,和开发人员沟通,不用关闭(close merge request),让他改好后重新提交代码就可以,到时候master刷新下界面就行。

gitlab如何实现代码评审机制(通过角色管理控制)_第8张图片
Paste_Image.png

最后,如果发现developer修改完成,操作合并请求既可

gitlab如何实现代码评审机制(通过角色管理控制)_第9张图片
Paste_Image.png

ps:如果developer开发者只是部分提交,不需要master处理的,可以打开合并请求的如下状态(一般用不到)

gitlab如何实现代码评审机制(通过角色管理控制)_第10张图片
Paste_Image.png

二.gitlab组员发起合并请求,产生冲突后,一般处理流程。
1.现象

gitlab如何实现代码评审机制(通过角色管理控制)_第11张图片
Paste_Image.png

2.解决
原理(网页上的冲突其实都是remote远程冲突, 你要做的其实就是把本地local更新到最新,之后本地合并产生冲突,解决好冲突后,在push到远程库,master在刷新下评审页面就可以了)
名字约定:master(feature_V1.3.8)【受保护的分支】, dev(DH_Shen_1.3.8_branch2)
现象描述: remote_dev 发合并请求到remote_master报 conflicts
解决:
1.local_master 更新到最新代码(remote_master)
2.local_master 合并到local_dev,肯定会产生冲突<注意不是local_dev 合并到local_master,和gitlab网站操作其实刚好是反过来的>
3.解决好local_dev冲突后,push 代码到 remote_dev
4.最后通知下代码审核同学已经解决好冲突,代码审核同学在刷新下评审页面就可以了。

2016年12月21日
三.引入gitlab评审机制后,merge发现用工程文件冲突如何解决(dev合并到master出现冲突)用sourceTree
第一步保证本地的master(feature_V1.3.8),和本地的dev(1.3.8_DH)最新
第二步,用sourcetree选中dev,将master合并到dev分支。(不用用xcode,xcode合并请求后,不会产生出错的代码====)

Paste_Image.png

第三步,解决上图4处冲突文件,用show in the finder 修改文件里面====处所有冲突,
注意工程文件也可以这样处理
第四步,改好之后先运行下工程,一般没问题,之后按下图点勾后,冲突文件就消失了,最后提交合并请求,在push到远端

gitlab如何实现代码评审机制(通过角色管理控制)_第12张图片
Paste_Image.png

第五步,这时你用xcode commit下发现还有修改(感觉比较奇怪),我是直接再次提交。之后发现sourcetree,也没有让你push的代码,我就又按下了push。
最后,master重新刷新下网页,发现没有冲突了,可以评审代码了,同意就accept

如果您发现本文对你有所帮助,如果您认为其他人也可能受益,请把它分享出去。

你可能感兴趣的:(gitlab如何实现代码评审机制(通过角色管理控制))