为什么要使用Gerrit?

最先接触Gerrit时是Android开发过程中,提交代码给负责人审核时,用到的一款软件。它就是一款代码审核的工具。(向Git代码库推送push代码时,必须要经过Gerrit服务器,实现代码审查)几乎任何需要正式发布的项目都应当使用Gerrit来进行代码审查。

代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但是在实际项目执行过程中,却因为种种原因被Delay甚至是忽略。

Gerrit是Google为Android系统研发量身定制的一套免费开源的代码审核系统,它在传统的源码管理协作流程中强制性引入代码审核机制,通过人工代码审核和自动化代码验证过程,将不符合要求的代码屏蔽在代码库之外,确保核心代码多人校验、多人互备、自动化构建核验。从我们实际使用效果看,Gerrit在核心代码质量控制、知识传承、团队培养等方面都具备很高的实用价值,推荐广大开发团队使用。

code review 的几个方面:代码风格;编码规范;代码结构;框架工具;业务逻辑;安全隐患;性能问题...

从软件团队建设角度来看:让另一个软件开发人员来审查别人的代码,相当于是“结对编程”——提高团队之间的交流,团队之间的“帮代”。执行了审核的一套工作流程之后,才可能经批准并纳入正式代码块中。

时机:入库之前;提交代码之后;测试之前;发版之前;发版之后;

Gerrit是如何实现代码审核的?

Gerrit和Git结合实现代码审核流程。

比如:git push指令中执行的refs/for和refs/heads参数,其实并不是Git的规则,而是Gerrit的规则。

举个栗子:git push origin HEAD:refs/for/mybranch需要经过code review之后才可以提交;refs/heads/mybranch不需要code review。代码提交到Gerrit部分时,实际上是人为分为两个部分,待修改区(Gerrit)和中心库(Git代码仓库)。

Gerrit相当于是代码进入Git代码仓库的通道。

Gerrit的使用的更多相关文章

  1. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  2. Centos 安装配置gerrit

    关闭selinux,不然nginx的反向代理会报错connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting ...

  3. Gerrit增加SSL证书

    在http的基础上增加SSL 配置gerrit.config文件 [gerrit] basePath = git canonicalWebUrl = https://172.16.99.212/ .. ...

  4. 解决:Cannot get http://gerrit.googlesource.com/git-repo/clone.bundle

    同步cm12.1初始化出现的问题: fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle fatal: err ...

  5. Gerrit管理帐号

    文档 Gerrit服务器启动后,网站上有一个Documentation链接.点击后会看到四个选项: index,searching,uploading和access control 文档内容很多,不必 ...

  6. Gerrit与Gitlab同步配置replication&其他配置

    一.Gerrit与Gitlab同步配置 当配置好gerrit环境后,还需要与现有gitlab库进行同步配置,否则会影响现有开发与打包流程. 1.安装gerrit replication插件 unzip ...

  7. 如何搭建开源code review gerrit服务器

    搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...

  8. gerrit session expired 怎么解决,搜索未果

    gerrit session expired,怎么解决,搜索未果

  9. 【Gerrit】Gerrit cmd query (gerrit命令行查询change信息)

    本文仅展现个人使用情况和理解,英文原址:https://review.openstack.org/Documentation/cmd-query.html 基本使用格式: ssh -p <por ...

  10. gerrit 部署手册

    概述 gerrit是谷歌开发用于安卓系统的代码审查的系统,目前已经开源.gerrti使用简单并友好.这里记录了gerrti的部署方法以及其中可能存在的陷阱和问题. 创建专属系统用户 Gerrit co ...

随机推荐

  1. socket测试远程地址能否连接并为连接设置超时

    public class TestConnect { string hostIp = ""; ; public string recMsg = ""; Sock ...

  2. 2. xargs 命令

    1.简介 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是 ...

  3. Sql的一些概念

    聚合函数 聚合函数可以返回整个或者几个列或者一个列的汇总数据,它常用来计算SELECT语句查询的统计值.聚合函数经常与SELECT语句的GROUP BY 子句一同使用.

  4. xcode 打静态库.a文件

    原文地址:http://blog.csdn.net/pjk1129/article/details/7255163 核心命令:lipo -info 地址.查看支持的类型,如armv7 lipo -cr ...

  5. HDOJ(1728)逃离迷宫

    HDOJ 1728 http://acm.hdu.edu.cn/showproblem.php?pid=1728 BFS求最少转过的弯 #include <stdio.h> #includ ...

  6. Multipart to single part feature

    Multipart to single part feature Explode Link: http://edndoc.esri.com/arcobjects/8.3/?URL=/arcobject ...

  7. 先进先出集合queue

    先进先出集合queue Enqueue添加到集合最后 Dequeue移除集合第一个对象并返回

  8. asp.net GDI+把图片绘制成自定义的椭圆形状

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  9. python 注册

    1.打开网址,点击 获得注册码 http://idea.qinxi1992.cn/  2.help -- register 第二步: http://jetbrains.tencent.click/   ...

  10. Exception异常规范

    把异常的栈轨迹以String形式返回 /** * 把异常的栈轨迹以String形式返回,而不是直接打印到console * @author King * @time 2015-04-29 * @ret ...