问题可能不是很清楚,因为我不是在寻找问题的解决方案,而是寻求避免将来可能出现的问题。
假设我们有项目A B和C,B和C基于A的不同基线。 可以在从B到C的两个方向上进行B和C之间的合并,反之亦然,以后不会产生问题吗?
在我的特殊情况下,我将版本从A合并到B,从B到C合并,现在我想从C合并到B. 在主干中,C是特定于安装的,B是客户特定的。当客户部署了更新的版本时,我们最终将放弃C. 但是现在(错误地)有一种情况是一些变化从A到C合并绕过B.变化应该已经消失了A - > B - > C.问题是从A到C的一些合并是非平凡的合并,我不想重复从A到B的手动合并工作。 对于这个版本,从C到B合并似乎更容易。可以吗?
谢谢!
答案 0 :(得分:2)
B和C基于A的不同基线。可以在从B到C的两个方向上进行B和C之间的合并,反之亦然
您所描述的内容称为 sideway merges ,您可以看到(在链接之后)它们带来了价格:合并可能在某些时候非常重要。
但是,在你的情况下,如果B没有触及从A到C合并的文件(具有非平凡的分辨率),那么从A到B的合并应该是微不足道的(存储在A中的版本的简单副本) B)中的一个顶部 通过从V到B合并,您将包含C中可能需要在合并期间消除的修改。
以更一般的方式,您可以按照您想要的任何顺序进行变基/交付,但如果某些工作流遵循前面链接所示的“横向”模式,则可以操纵某些工作流以产生非平凡的合并。