我在Git中有以下树:
A new_branch
/
B---C---D---E master
A
正在使用C
中的更改。 C
在Gerrit的远程主机上,正在等待代码审查。
现在将哪种方法理想地将A
推送到远程主服务器上
Gerrit没有引入任何合并冲突?
答案 0 :(得分:0)
理想的方法是不在提交C中建立提交A,因为它仍在等待代码审查。您只能将工作基于合并(提交)的提交。因此,在您的示例中,您应该像这样与C并行工作:
A new_branch
/
B---C---D---E master
实际上,如果您说提交C仍在等待代码审查,那么这是绘制架构的正确方法:
A new_branch
/
B master
\
C---D---E waiting for review
如果您确实需要基于提交C进行工作,那么您将像往常一样使用Gerrit:
$ git push origin HEAD:refs/for/master
但是您需要记住,如果在审阅过程中更改了提交C,那么您需要为新提交C'重新设置提交A的基础,然后才能合并到主提交中。
答案 1 :(得分:0)
这取决于您习惯于与审稿人一起工作。
在关系链中多次提交审阅并不少见。
您唯一需要记住的是在此处正确突出显示关系链。例如,在提交消息[<commit-ID>] (<child-ID>) <message>
中。
恕我直言,这是处理诸如以下场景的最佳方法: