2011-04-19 67 views
1

我们使用Git 1.7.4.1。假设有多个名称为BRANCH_1,BRANCH_2,... BRANCH_N的分支,如果我们想要合并所有这些,是否有可编程/脚本化的方法来确定存在哪些冲突?您可以假设我们没有设置任何本地存储库。现在,我在Mac 10.6.6上使用bash shell。git:如何以编程方式检测多个分支中的冲突?

谢谢 - 戴夫

回答

1

没有,告诉会发生什么的唯一方法是,如果你创建一个本地资源库和实际尝试做合并。有多种不同的方式可以将所有分支合并在一起,结果取决于您使用哪一种分支;如果你有复杂的历史,合并过程可能并不简单。

创建一个一次性本地存储库并尝试合并它非常容易。这就是linux-next tree为Linux内核所做的事情;它会提取并尝试合并一大堆不同的维护者的树,并保持log这样做,跳过失败的合并(它从日志中看起来像它可能试图解决其中的一些问题,或者即使在合并失败时也继续下去,所以我不知道确切的政策)并通知有问题的树木的维护者。然后,您可以检查结果并对其进行测试,或者测试您的代码是否会合并到所有不同分支的合并中,或者其他什么。

+0

+1如果您需要创建许多大型一次性存储库,回购甚至不必一概而论。在完成合并之后,只需使用git reset --hard HEAD ^,然后尝试合并下一个分支。 – ralphtheninja 2011-05-01 16:14:58