Git 如果我推两下gerrit,而评论员试图合并最后一个呢

Git 如果我推两下gerrit,而评论员试图合并最后一个呢,git,gerrit,Git,Gerrit,我与Gerrit合作了一段时间,了解Gerrit的基本工作流程。 到目前为止,一切都很好:当我完成我的编码工作时,我把我的代码推给Gerrit,然后Jenkins和我的领导开始工作。如果我的领导(审核人)+2对我的代码进行审核,并且Jenkins完成其工作时没有任何错误,我的代码将合并到分支机构中。这是非常清楚和简单的 但是,如果我在很短的时间内推动我的更改两次呢?假设我按了A,然后又按了B。这两个键都触发了詹金斯的工作。同时,出于某种原因,我的领导(评审员)没有评审A,但他立即评审了B。然后

我与Gerrit合作了一段时间,了解Gerrit的基本工作流程。

到目前为止,一切都很好:当我完成我的编码工作时,我把我的代码推给Gerrit,然后Jenkins和我的领导开始工作。如果我的领导(审核人)+2对我的代码进行审核,并且Jenkins完成其工作时没有任何错误,我的代码将合并到分支机构中。这是非常清楚和简单的

但是,如果我在很短的时间内推动我的更改两次呢?假设我按了A,然后又按了B。这两个键都触发了詹金斯的工作。同时,出于某种原因,我的领导(评审员)没有评审A,但他立即评审了B。然后他用+2表示B。这意味着,A尚未合并到分支主控,但我的领导正在尝试将B合并到分支主控。但是,A是B的父级。显然,从逻辑上讲,合并A必须在合并B之前发生


我想知道Gerrit会为这个案子做些什么。提示审阅者审阅上一次推送是否会产生错误?

如果
B
依赖于
A
,并且
A
未准备好提交,
B
被阻止。
B
页面上的提交按钮被禁用


如果仍要提交
B
,则需要首先重新设置
B
的基础,使其独立于
A
。由于冲突,重基可能会失败。

我不知道gerrit的情况,但从概念上讲,这取决于您是否强制推进。如果强制推送,B将替换A,A不再相关。如果您定期推送并添加更多提交,那么B是a的超集,因此如果您在B中合并,根据定义,您也已经在a中合并了。请注意,我之前的评论假设a和B位于同一Git分支上。如果不是,那么评论就不相关。