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

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

Paste_Image.png
Paste_Image.png

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

Paste_Image.png

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


Paste_Image.png

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


Paste_Image.png

第三步.组员developer通过feature_V1.3.8分支,创建自己的开发分支进行代码开发(一般是一个功能点,一个分支)
eg组员创建 V1.3.8_testDemo(push到自己远程库分支)
Paste_Image.png

第四步:组员developer开发完代码后,登陆后台网站进行合并请求
注意合并代码请求都到网页去合并,不要在本地合并(其实你本地合并你也是推送不上去的)
Paste_Image.png
Paste_Image.png

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

Paste_Image.png

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

Paste_Image.png

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

Paste_Image.png

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

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到远端

Paste_Image.png

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

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 70,784评论 12 116
  • 远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题...
    归云丶阅读 464评论 0 4
  • 写在前面 在团队做过软件开发的,版本控制必是不可或缺的一项。目前,版本控制主要分为集中式版本控制系统和分布式版本控...
    Jack_lin阅读 8,954评论 45 441
  • 今天第一天开始上班,没有任务,于是开始学习Git这一程序猿必须掌握之技能,希望今天的积累过后,对与Git或者...
    CoderTung阅读 5,053评论 2 91
  • 在上一篇的文章里,我们简单探讨了什么样的影视公司会需要自己的Story Engine(故事创意开发团队),另外还探...
    研习社老周阅读 516评论 10 16