Gerrit在Android Studio中的应用

1.注册

1.1 主页点击首页Become


1.2 点击页面最下面的Regitster New Account
1.3 填写注册表格
Add SSH Public Key这一步可以点击【4】看说明:
打开C:\Users\Administrator.ssh目录中的id_rsa.pub(SSH公钥)文件,复制其内容粘贴到【5】,点击【6】添加,点击continue完成注册。
Gerrit在Android Studio中的应用_第1张图片

2.clone项目

2.1 在.ssh目录下放入管理员提供的config文件(管理员提供)。

Gerrit在Android Studio中的应用_第2张图片

第一次使用如果没在.ssh中配置config文件的话,执行clone命令的时候会报下面的错误。
Gerrit在Android Studio中的应用_第3张图片

2.2 选择项目
Gerrit在Android Studio中的应用_第4张图片

2.3 选择clone with commit-msg hook【1】和SSH【2】两个选项,获取clone命令行【3】。
说明:
选择clone with commit-msg hook可以再提交的时候自动加上change-id
选择SSH可以在提交的时候不用输入账号密码(注册的时候配置了SSH key)

2.4 打开git bash,输入上一步出现的git clone 命令:git clone ssh://[email protected]:29418/handset-team/rs10-android-control && scp -p -P 29418 [email protected]:hooks/commit-msg rs10-android-control/.git/hooks/

3.推送修改

Gerrit在Android Studio中的应用_第5张图片

3.1 背景知识
相比如git直接管理代码,gerrit多一个环节,就是图中那只鸟。
一般的contributor没有权限直接将代码push到git repo上,直接push会提示没有push权限。
You are not allowed to perform this operation. To push into this reference you need 'Push' rights.
所以需要通过配置,让push不直接push到git repo,而是push到girrit上。

3.2 设置gerrit pushgit config remote.origin.push refs/heads/*:refs/for/*
【注】如果使用Android Studio Gerrit插件,可以省略该步骤。
配置完之后,再git push就OK了。
这行命令的意思是,当执行push命令时,将会推送到refs/for/当前head所在的分支上,其实就是gerrit维护的暂存分支。
push成功后,网页上会有如下信息:


push到gerrit上成功后,需要Integrator在网页上review code,通过code,push才会纳入git repo
3.3 review code
Gerrit在Android Studio中的应用_第6张图片

3.4 submit code
Gerrit在Android Studio中的应用_第7张图片

完整的push逻辑到此结束!

4. Android Studio 使用Gerrit

完成上面的各项配置之后,可以再Android Studio中执行gerrit push
4.1 安装Gerrit插件

Gerrit在Android Studio中的应用_第8张图片

4.2 推送的时候勾上gerrit
勾上gerrit你会发现推送的地址是origin:refs/for/, 比不勾多一个 refs/for,表示会推送到gerrit上。
Gerrit在Android Studio中的应用_第9张图片

参考链接:
【Gerrit】Gerrit工作流程及使用手册

你可能感兴趣的:(Gerrit在Android Studio中的应用)