Git 如果我推两下gerrit,而评论员试图合并最后一个呢
我与Gerrit合作了一段时间,了解Gerrit的基本工作流程。 到目前为止,一切都很好:当我完成我的编码工作时,我把我的代码推给Gerrit,然后Jenkins和我的领导开始工作。如果我的领导(审核人)+2对我的代码进行审核,并且Jenkins完成其工作时没有任何错误,我的代码将合并到分支机构中。这是非常清楚和简单的 但是,如果我在很短的时间内推动我的更改两次呢?假设我按了A,然后又按了B。这两个键都触发了詹金斯的工作。同时,出于某种原因,我的领导(评审员)没有评审A,但他立即评审了B。然后他用+2表示B。这意味着,A尚未合并到分支主控,但我的领导正在尝试将B合并到分支主控。但是,A是B的父级。显然,从逻辑上讲,合并A必须在合并B之前发生Git 如果我推两下gerrit,而评论员试图合并最后一个呢,git,gerrit,Git,Gerrit,我与Gerrit合作了一段时间,了解Gerrit的基本工作流程。 到目前为止,一切都很好:当我完成我的编码工作时,我把我的代码推给Gerrit,然后Jenkins和我的领导开始工作。如果我的领导(审核人)+2对我的代码进行审核,并且Jenkins完成其工作时没有任何错误,我的代码将合并到分支机构中。这是非常清楚和简单的 但是,如果我在很短的时间内推动我的更改两次呢?假设我按了A,然后又按了B。这两个键都触发了詹金斯的工作。同时,出于某种原因,我的领导(评审员)没有评审A,但他立即评审了B。然后
我想知道Gerrit会为这个案子做些什么。提示审阅者审阅上一次推送是否会产生错误?如果
B
依赖于A
,并且A
未准备好提交,B
被阻止。B
页面上的提交按钮被禁用
如果仍要提交
B
,则需要首先重新设置B
的基础,使其独立于A
。由于冲突,重基可能会失败。我不知道gerrit的情况,但从概念上讲,这取决于您是否强制推进。如果强制推送,B将替换A,A不再相关。如果您定期推送并添加更多提交,那么B是a的超集,因此如果您在B中合并,根据定义,您也已经在a中合并了。请注意,我之前的评论假设a和B位于同一Git分支上。如果不是,那么评论就不相关。