我正在尝试确定Gerrit上的多个分支机构的适当工作方式,以符合我们的工作流程。Gerrit:与多个分支合作并传播更改
我们现在与分支机构合作的方式是:我们有主人&功能分支。硕士是我们想要打磨的分支,并准备发布,而功能显然是一个密集的工作领域。现在,在我们的特定情况下,每当有人工作在一个bug修正,它们:
- 创建针对主分支的变化
- 樱桃它挑到特性分支目标改变
- 一次格里特代码审查完成后,提交两个更改。
现在我明白樱桃选择的方式,它选择单个提交并将其合并到当前更改中。如果是这样的话,我希望最终没有合并冲突,事实上,这个工作流程完全适用于GIT。然而,Gerrit最有可能归因于其本质(分支机构不是以远程方式合并,而是获得不同的sha标签),最终列出了大量冲突文件。
现在,我解决了所有这些问题,通过应用合并策略(我们的功能,他们对主),但它不觉得正确:如果没有传播任何东西,它只是被丢弃。
我的问题是:是否有安全工作流程,类似于上述那样,最终会产生与gerrit的干净合并?
不,事实并非如此。然而,你说什么和我们做什么之间是有区别的。不同之处在于:我们通常会在推动审查之前挑选变化(所以在本地)。也许这就是问题..? 事情是,有些人甚至在创建樱桃挑选(大提交)之前获得批准,并且它仍然显示为冲突。我相信可能会发现我们需要挑选提交的更改,而不是本地分支机构。 – 2012-08-02 11:43:34
在推动审核之前或之后选择樱桃选择应该没有关系。我不确定在创建樱桃选择前获得批准是什么意思。 – Brad 2012-08-03 13:26:51
当您将更改推送到gerrit时,这些更改不会立即合并。相反,他们是特定分支的候选人,当您“提交”您的补丁集时,将这些分支合并到这些分支中。这意味着合并不会在您的本地存储库中完成,并且它似乎也获得了单独的SHA总和(我不太深入研究gerrit细节,因此我不知道它为什么会发生)。我认为我们的选秀权和这些偏僻的基金之间没有任何关联,基金会不了解发生了什么(它看到两个分支都发生相同的变化,并将它们视为冲突) – 2012-08-09 11:22:08