0


使用gitlab做git flow及代码审查

13、代码审核:
http://www.360doc.com/content/16/0920/17/1073512_592302821.shtml 1、分配成员角色2、锁定受保护的分支3、发起合并请求4、审查合并请求;
5、处理合并请求


1、分配成员角色:

首先来了解下,Git 中的五种角色:

Guest:访客,貌似没有什么权限;Reporter:可以使用 git@172.18.2.121:test_group_001/top_proj_002.git 拉代码,但是不能push 到仓库的默认分支;Developer:项目的开发人员,能够推送和删除没有保护的分支,刚创建的分支 默认 都是没有保护的Master:项目管理人员,可以对没有保护和有保护的所有分支进行操作,几乎拥有所有权限;Owner:系统管理员,拥有所有权限;
我们需要做的是,为项目成员分配恰当的角色,以限制其权限。

每一种角色所拥有的权限都不同,如下图:


2、锁定受保护的分支:

在对 Git 不熟悉的时候,时常苦恼于各个分支不受约束,任何开发人员都可以向任何分支直接推送任何提交,各种未经审查的代码、花样百出的 Bug 就这样流窜在预发布分支上。

其实我们可以通过 GitLab 的受保护分支(Protected Branches)功能 解决该问题,该功能可用于:

  • **阻止 Master 角色以外的开发人员 **直接向此类分支推送代码,保持稳定分支的安全性;
  • 在向受保护分支合并代码前,强制进行代码审查

接下来我们就使用这项功能,锁定我们的受保护分支——主分支

master

和预发布分支

release-*

,以阻止 Developer 直接向这两类分支中推送代码:



锁定后,Developer 推送代码将会报错:

$ git push origin masterCounting objects: 4, done.Delta compression using up to 4 threads.Compressing objects: 100% (2/2), done.Writing objects: 100% (3/3), 283 bytes | 0 bytes/s, done.Total 3 (delta 1), reused 1 (delta 0)remote: GitLab: You are not allowed to access master!remote: error: hook declined to update refs/heads/masterTo git@website:project.git ! [remote rejected] master -> master (hook declined)error: failed to push some refs to 'git@website:project.git'

3、发起合并请求

第一步,新建合并请求;注意,对于 Developer 而言:

  • From 是你的特性分支 feature-*
  • To 只可能是预发布分支 release-*
  • TitleDescription 要填写恰当的分支描述;
  • Assign to 是该项目的 Master。


4、审查合并请求: 第二步,Master 收到合并请求后,进行代码审查。逐一查看

Commits

一栏提交的内容即可,对于需要改进的代码,可以直接在该行添加注释,非常方便。

如果对整个请求还有疑问的地方,还可以通过底部的

Discussion

功能进行线上讨论。

5、处理合并请求: 第三步,针对审查结果进行相应处理:

1.关闭: 对于完全不合格的垃圾代码、或者废弃的特性分支的合并请求,Master 点击右上角的

Close

按钮即可。合并请求将被关闭,相当于扔进回收站。
2.改进: 对于分支内需改进的代码,Developer 直接修正并推送即可,合并请求将会自动包含最新的推送提交。
3.接受: Master 审查无误后,可以接受该次合并请求。点击 **

Accept Merge Request

按钮 将自动合并分支,勾选

Remove source-branch

控件,将同时删除该特性分支**。

标签: git gitlab github

本文转载自: https://blog.csdn.net/windfly815/article/details/127859835
版权归原作者 美丽的格桑花888 所有, 如有侵权,请联系我们删除。

“使用gitlab做git flow及代码审查”的评论:

还没有评论