介绍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