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完成注册。

2.clone项目

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


第一次使用如果没在.ssh中配置config文件的话,执行clone命令的时候会报下面的错误。

2.2 选择项目

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://test007@172.16.1.201:29418/handset-team/rs10-android-control && scp -p -P 29418 test007@172.16.1.201:hooks/commit-msg rs10-android-control/.git/hooks/

3.推送修改


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

3.4 submit code

完整的push逻辑到此结束!

4. Android Studio 使用Gerrit

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


4.2 推送的时候勾上gerrit
勾上gerrit你会发现推送的地址是origin:refs/for/<branch_name>, 比不勾多一个refs/for,表示会推送到gerrit上。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,539评论 25 709
  • 近年来,由于开源项目、社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发、敏...
    a6fc544968bb阅读 9,506评论 0 30
  • 一叶知秋,生命历经寒暑,阅尽世间繁华,走向成熟静美的状态。 秋风扫落叶,一片飘零的树叶正好落在凋谢的花旁边,突然想...
    一笑人生阅读 459评论 0 1
  • 又一个冬天,又一个周末的第一天,阳光光顾,风也随行。今天是2017.11.25,这个日子是唯一,不会被又。我要懒懒...
    十里落阅读 447评论 0 0