Gerrit的使用
为什么要使用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的使用的更多相关文章
- CentOS安装gitlab,gerrit,jenkins并配置ci流程
CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...
- Centos 安装配置gerrit
关闭selinux,不然nginx的反向代理会报错connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting ...
- Gerrit增加SSL证书
在http的基础上增加SSL 配置gerrit.config文件 [gerrit] basePath = git canonicalWebUrl = https://172.16.99.212/ .. ...
- 解决: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 ...
- Gerrit管理帐号
文档 Gerrit服务器启动后,网站上有一个Documentation链接.点击后会看到四个选项: index,searching,uploading和access control 文档内容很多,不必 ...
- Gerrit与Gitlab同步配置replication&其他配置
一.Gerrit与Gitlab同步配置 当配置好gerrit环境后,还需要与现有gitlab库进行同步配置,否则会影响现有开发与打包流程. 1.安装gerrit replication插件 unzip ...
- 如何搭建开源code review gerrit服务器
搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...
- gerrit session expired 怎么解决,搜索未果
gerrit session expired,怎么解决,搜索未果
- 【Gerrit】Gerrit cmd query (gerrit命令行查询change信息)
本文仅展现个人使用情况和理解,英文原址:https://review.openstack.org/Documentation/cmd-query.html 基本使用格式: ssh -p <por ...
- gerrit 部署手册
概述 gerrit是谷歌开发用于安卓系统的代码审查的系统,目前已经开源.gerrti使用简单并友好.这里记录了gerrti的部署方法以及其中可能存在的陷阱和问题. 创建专属系统用户 Gerrit co ...
随机推荐
- HttpWebRequest.GetResponse 方法 转载
GetResponse 方法返回包含来自 Internet 资源的响应的 WebResponse 对象. 实际返回的实例是 HttpWebResponse,并且能够转换为访问 HTTP 特定的属性的类 ...
- asm createdisk时提示没有权限
[root@linux Packages]# /etc/init.d/oracleasm createdisk asm1 /dev/sdg1Marking disk "asm1" ...
- vbs脚本总结
1. msgbox语法:msgbox "对话框","对话框标题" 例:const hw="Hello World!" msgbox(hw) ...
- 2016-08-15:从YUV420P中提取指定大小区域
typedef struct { int width; int height; }SizeInfo; typedef struct { int x; int y; int width; int hei ...
- win7,xp通用的打开文件浏览对话框的方法
第一种:Function BrowseForFile() Dim shell : Set shell = CreateObject("WScript.Shell") ...
- Ms sql 2000互转2005
BCP导入导出数据.非常的方便.速度很快.--还原部分,指定强制还原(使用WITH MOVE指定文件还原,RELPACE由于版本不一样,所以要指定REPLACE,如果不指定REPLACE参数,会提示版 ...
- js动态生成input指定My97DatePicker时间问题
js生成的input指定onclick时间: 以下1.2为错误: onclick="WdatePicker()"; onclick=WdatePicker(); 若指定到windo ...
- winform 控件(1)
单词:controls(父类),所有的控件dataSource ,工具的数据源DisplayMember,属性,指定的值 <1>label--文本显示工具属性:1.text,是显示文字的n ...
- LZW压缩算法
转载自http://www.cnblogs.com/jillzhang/archive/2006/11/06/551298.html 记录此处仅自己供学习之用 lzw解压缩算法: 用单个字符初始化字符 ...
- BES
自主开发一套消息中间件系统. 需求: 1.保证能在大规模分布式环境下发送接收消息. 2.消息发送者(Producer)能够简单.容易的发送Event. 3.所有的Event都能被注册监听该Event的 ...