使用 Gerrit 很容易意外地将开发分支中的不稳定代码 merge 到稳定分支中:
$ git checkout develop<br/>
$ commit<br/>
$ git push origin HEAD:refs/for/stable
在 Gerrit 中,提议的更改来自开发分支并 merge 到稳定分支中并不是很清楚。有没有办法在 git 或 Gerrit 中阻止这种 merge 的发生?
更新: 现在我们使用自定义命令推送到 gerrit,它会找到它所基于的 origin 中的最后一个分支,并且只允许推送到该分支。
最佳答案
目前软件中没有任何选项可以防止您犯这种错误。
但是,您可以做一些事情:
- 培训人员,让他们在执行审核时始终检查分支机构名称
- 设置一个“推送到正确的分支”类别(howto here),带有 +1“正确分支”、0“无分数”、-1“不正确分支”等选项,因此审阅者必须正式确认他检查了分支名称
- 设置一个持续集成工具来自动审查和评分上述类别(Jenkins 有一个 plugin 您可以使用)
你能分享一下你用来推送到 gerrit 的自定义命令吗?
关于git/gerrit 防止 develop 分支 merge 到 stable/testing 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7473443/