Version control Mercurial:使长期分支机构保持最新状态,以了解默认情况下的最新更改?

Version control Mercurial:使长期分支机构保持最新状态,以了解默认情况下的最新更改?,version-control,file,mercurial,Version Control,File,Mercurial,我们目前正在修改我们的代码库的很大一部分。我们选择为此创建一个单独的分支,因为返工将需要几个月的时间,同时我们应该修复bug并用新特性更新默认值。显然,我们不希望我们的返工分支过于偏离默认值 我们决定每月将默认值合并到返工分支中一次。这将解决我们的问题,并使我们在几个月后,当我们想要在默认情况下合并我们的返工分支时,避免陷入地狱般的合并 今天,我们在返工分支中第二次合并了默认值(返工开始已经两个月了),但在合并过程中我注意到了一些奇怪的事情。看起来就像我们第一次(一个月前)合并一样,今天我们不得

我们目前正在修改我们的代码库的很大一部分。我们选择为此创建一个单独的分支,因为返工将需要几个月的时间,同时我们应该修复bug并用新特性更新默认值。显然,我们不希望我们的返工分支过于偏离默认值

我们决定每月将默认值合并到返工分支中一次。这将解决我们的问题,并使我们在几个月后,当我们想要在默认情况下合并我们的返工分支时,避免陷入地狱般的合并


今天,我们在返工分支中第二次合并了默认值(返工开始已经两个月了),但在合并过程中我注意到了一些奇怪的事情。看起来就像我们第一次(一个月前)合并一样,今天我们不得不再次合并。如果是这样的话,那么我们每个月合并都不会赢,我们还可以把它推迟到返工结束。但是我的假设正确吗:如果我将默认值合并到一个分支中,并且在一段时间之后,我再次将默认值合并到该分支中,那么我是否第一次合并它就无关紧要了?第二次合并的工作保持不变,我们还是不去管分支,最后再进行一次大合并吧?

你怎么会认为第一次合并“不起作用”

第二次合并只需“合并”当前默认值与第一次合并时的默认值之间的增量

同样取决于在两个分支中完成的工作量,我想说每月合并一次是保持分支不同步的一个非常长的时间段


作为补充说明,如果您想保持历史记录更美观,您可以重新设置基础,而不是不断地合并(请记住,如果正在推/拉返工分支,这是不可能的)。

是什么让您认为第一次合并“不起作用”

第二次合并只需“合并”当前默认值与第一次合并时的默认值之间的增量

同样取决于在两个分支中完成的工作量,我想说每月合并一次是保持分支不同步的一个非常长的时间段


作为补充说明,如果您想让历史更美观,您可以重新设置基础,而不是不断地合并(请记住,如果正在推/拉返工分支,这是不可能的)。

使用重新设置基础的缺点是,您会丢失合并信息,这也是可行的。您的历史记录应该反映实际发生的情况(“每月合并”),而不是您希望发生的情况(“所有这些工作都是在主线上完成所有工作之后完成的”)。由于我们与不同的人一起在返工部门工作,因此重定基准确实不是一个选项。我认为第一次合并失败的原因是,在第二次合并时,我必须手动解决自第一次合并以来返工分支中未涉及的代码部分中的冲突。然而,在第一次合并之前,我们确实对代码的这一部分做了大量更改,并且在合并期间也必须解决冲突。但也许我只是在想象。。。但那是我在第二次合并中得到的感觉。我们将看到在第三次合并过程中会发生什么。使用rebase的缺点是丢失了合并信息,这也是可行的。您的历史记录应该反映实际发生的情况(“每月合并”),而不是您希望发生的情况(“所有这些工作都是在主线上完成所有工作之后完成的”)。由于我们与不同的人一起在返工部门工作,因此重定基准确实不是一个选项。我认为第一次合并失败的原因是,在第二次合并时,我必须手动解决自第一次合并以来返工分支中未涉及的代码部分中的冲突。然而,在第一次合并之前,我们确实对代码的这一部分做了大量更改,并且在合并期间也必须解决冲突。但也许我只是在想象。。。但那是我在第二次合并中得到的感觉。我们将看到在第三次合并期间会发生什么。