workflow
- 本地生成git commit
- 以drafts身份推送到 gerrit库中, 命令: git push origin HEAD:refs/drafts/master
- gerrit自动触发 verifyCI 流程
- VerifyCI 通过,获得verified+1分值, 进入走查环节, 用户点击 publish 按钮,发布草稿; 如果verify CI不通过, 则回到第一步, 修改代码, 以补丁方式提交, git commit --amend
- 走查人走查通过, 获得 code review+2的分值, 出现 submit按钮; 如果走查不通过, 则进入到第一步,修改之后再次提交。
- 开发者点击 submit按钮, 将commit合入master分支
- gerrit自动触发 mergeCI 流程
- mergeCI失败, 开发者检查错误,如是自己的代码错误, 进入第一步,生成新的commit,修复错误。如果mergeCI没有错误, 则入库完成。
跳过draft环节
draft的作用, 相当于提交之后,只能自己看见, 别人不能看见。
如果 不需要draft环节, 可以直接以补丁的方式提交代码, 进入走查 和 verify CI并发执行的情况。
使用如下命令:
git push origin HEAD:refs/for/master
此命令生成一个补丁, gerrit 会发送给 jenkins一个 patchset created 事件。
draft提交命令也会发送一个 patchset created 事件, 此事件可以忽略 draft类型 Exclude Drafts
git 本地于远程同步
git reset --hard origin/master