【发布时间】:2014-12-11 20:26:02
【问题描述】:
我有一个项目,我在其中使用 mercurial 设置了一个 bitbucket 存储库。 我们实际上是 3 岁,所以我们正在使用分支。
当我们进行合并时,我们非常随机地进行了很多次合并失败。
实际上,我正在使用 Meld,我真的不知道我必须在 repo 的“哪个”部分选择要合并的源代码的哪个部分。
那么,当我合并时,我应该在哪里做呢? 我不确定我是否必须在本地、基础或其他上执行此操作,即使我知道本地对应于我的最后修改,其他对应于我要合并的分支的最后修改,而且实际上我我不太确定其他是什么...
【问题讨论】:
-
我认为您的问题在这里不是很清楚,您能否使用特定文件举例说明问题所在? Base 是本地(工作目录)和其他(您尝试合并到本地的分支变更集)中不同的文件的共同祖先。
-
好吧,例如我在分支 A,当我执行 hg merge B 时,它会为每个存在冲突的文件打开 meld,并突出显示所有不同的内容。但问题是我不确定我必须将差异移到哪一边。例如,如果在我的分支 A 中,在一个文件中我有 void foo() (在本地),而在另一个分支 B 中,我有 void foo(int bar) (所以在“其他”中,如果 i' m 对),我想保留“void foo()”,我应该将差异移到哪里?
-
这听起来像是您正在寻求有关如何专门使用 Meld 的帮助?恐怕我不熟悉它。很抱歉,如果您已经知道以下内容,我只是不确定您现在的知识在哪里。当您从 B 合并到 A 时,您只是将文本从 B 复制到 A 的工作副本中的磁盘文件中。因此,如果您不希望从 B 进行更改,那么您只需将工作副本保持原样.
-
没问题,仍然感谢您的帮助。我不确定 meld 是否是问题所在,我认为 kdiff 或其他软件的工作方式相同。至于我的知识,基本上我只做简单的推、拉、分支,当它工作时,合并。