介绍draft和topic两个功能
Gerrit
Gerrit相对Git提供了一个特有的命名空间refs/for/用来定义我们的提交上传到哪个branch,且可以用来区分我们的commit是提交到Gerrit进行审核还是直接提交到Git仓库,格式如下:
refs/for/<target-branch>
- Push 一个 Commit 到 Gerrit:
git push origin HEAD:refs/for/master - 直接 Push 一个 commit 到 Git 仓库:(默认配置成不允许)
git push origin HEAD:master
当commit Push到Gerrit等待review时,Gerrit会将此commit保存在一个名为refs/changes/xx/yy/zz的一个暂存branch中。
zz为这个commit的patch set号yy是change号xx是change号的后两位
Draft
refs/drafts/<target branch>
$ git push origin HEAD:refs/drafts/xxx
在Gerrit中点击Publish按钮转换为正式Change
Topic
refs/for/<target branch>refs/for/<target branch>/<topic name>
$ git push origin HEAD:refs/for/xxx%topic=123
$ git push origin HEAD:refs/for/xxx/123
Topic用于归类相关的提交,可以用上述的命令,同时可以在Gerrit中编辑Topic