使用Gerrit很容易将开发分支中的不稳定代码意外地合并到稳定分支中:
$ git checkout develop
$ commit
$ git push origin HEAD:refs/for/stable
在Gerrit中,提议的更改来自开发分支并且要合并到稳定分支中并不是很清楚。有没有办法阻止这种合并发生在git或Gerrit?
更新 现在我们使用一个自定义命令来推送gerrit,它可以找到它所基于的最后一个分支,并且只允许推送到那个分支。
答案 0 :(得分:1)
目前软件中没有任何选项可以防止您犯这种错误。
但是,你可以做一些事情:
你会分享你用来推动gerrit的自定义命令吗?
答案 1 :(得分:0)
一种方法可能是这样的:
隔离用户
在'git'中,只允许推送访问'Integrator group'的成员(如上所述)。
免责声明:我没有Gerrit / Git管理员角色/配置经验,所以老实说我不知道'git'如何能够获取有关任何用户属于哪个组的信息(恕我直言,这仍然可以手动实现)
答案 2 :(得分:0)
您应该在Gerrit中为您的"开发"设置特定的访问控制。那个回购的分支。
像这样设置:
Reference: refs/for/refs/heads/develop
Push: Allow: <group>
但不喜欢这样:
Reference: refs/for/refs/heads/*
Push: Allow: <group>
这样,您的<group>
只能推送&#34; refs / for / develop&#34;而不是&#34; refs / for / stable&#34;或任何其他分支。