可以看到test3用户提交的commit_1,因为已经通过审核了,所以,就合并到master中了
我们到当前的目录中,看一下.git文件夹,确实是没有hooks文件夹的
我们通过scp gerrit:hooks/commit-msg hooks/
命令来拉取commit-msg文件
同时通过git config remote.origin.push refs/heads/*:refs/for/*
命令来设置push命令
设置自定义push
虽然我们设置好了push命令到远程的refs/for/*
目录,但是如果我们直接用SourceTree中的push功能,我们会发现直接给我们在远程新建了一个refs/for/*
分支,而且gerrit也没有审核事件触发,这是因为sourceTree的push应该是有它自己的一些配置,所以这里我们需要自定义push事件,来完成将代码推送到正确的分支上。
我们进入SourceTree的配置页面
点击Custom Actions
,然后输入命令的名字: push to gerrit
- Script to run: 指的是要执行的文件,我们这里把git的可执行文件目录放进来,如果是windows请自行找到该目录
- Parameters 就直接写入
push
,表示执行的是push命令
最后当我们要通过推送到gerrit服务器时,在当前的分支上,右键,然后点击Custom Actions
,再选择我们刚创建的push to gerrit
动作,就实现了推送到gerrit服务器的功能!!
好了,到这里,关于gerrit的所有内容都介绍完了!!!
致谢&参考文文章
这里特别感谢烤鸭的gerrit使用总结,基本上我都是在这篇blog上一点一点摸索出来的,不过作者写的总结时间有点远了,所以我在他的上面做了一些总结和新增。
其余参考文件:
- Gerrit用户项目权限管理
- Gerrit配置–用户配置
- Gerrit管理帐号
- Push to gerrit using SourceTree
- Gerrit使用说明
- Gerrit email notification for push to master branch
来源:oschina
链接:https://my.oschina.net/u/259459/blog/2209514