git/gerrit 防止 develop 分支 merge 到 stable/testing 分支

标签 git merge branch gerrit

使用 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/

相关文章:

git - 为什么 git 会暂存我 checkin 的文件,这些文件是在 merge 中拾取的,但我没有触及?

git - merge 后如何在git-lfs中修复Unity .prefab文件

R 对落在某个数字区域内的因素行进行伪合并

PHP 在相似元素上组合数组

git - 如何删除名为 "--track"的 git 分支

git - 显示哪些文件在两次修订之间发生了变化

git - 如何获得默认分支?

git - 向 Gitlab 添加了 SSH key ,但它仍然要求我提供凭据

git 推送补丁到远程

SVN 合并帮助 : Created branch within a trunk