git - 在 Gerrit 中,如何防止提交不是完全最新的补丁集?

标签 git jenkins gerrit

两个开发人员正在 develop 分支上进行两个完全不同的更改(例如,两个不同的文件)。他们同时提交了他们的工作,触发了两个 Jenkins 构建。这些构建进行得很好,但一个审查比另一个花费的时间更长。

第一个开发者提交了他们的补丁集,开发上没有中间提交,因此 Gerrit 将其直接 merge 。

第二个开发人员随后提交了他们的补丁集。虽然现在有中间提交,但 merge 本身很简单,Gerrit 会执行 merge 。

现在我们有两个构建,其中都不包含另一个的工作。

如果有任何中间提交,我想阻止第二次提交,即使 merge 是完全微不足道的,导致开发人员改为 rebase 并更新他们的提交(并在此过程中触发 Jenkins 中的新构建) .

当审查完成、正在提交补丁集但目标分支上有中间 merge 时,我应该在 Gerrit 中设置什么来阻止这种微不足道但不需要的 merge ?

最佳答案

您可以在 Gerrit 中更改项目选项 仅快进, 这将阻止更改进入,因为它不是快进 merge 。 然后强制 developer2 git pull --rebase 并再次推送,现在 developer1 所做的更改将成为验证的一部分。

关于git - 在 Gerrit 中,如何防止提交不是完全最新的补丁集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13756084/

相关文章:

javascript - 如何使用 Repo.js

jenkins - 如何在 Jenkins Groovy 脚本控制台中获取环境变量?

bash - 如何提取Docker镜像标签的值

java - 在 jenkinsci/blueocean 容器内找不到 Jenkins conf 文件

git - 撤消 merge/重置更改状态

git - 汇编和github

git - 如果它们指向 Git 中的相同提交,则基于分支 foo 或 bar 创建分支之间有什么区别吗?

gerrit - 无法添加对 Gerrit 的评论。相反,它会被添加为草稿。我究竟做错了什么?

gerrit - 如何观察 Gerrit 的变化

git - 取消链接文件失败。我应该再试一次吗?