bzr merge - 三个文件让我该怎么办?

时间:2014-04-11 08:45:17

标签: bazaar

有时当我合并集市时,它说我有冲突。我的文件名是myfile.txt

我看到我有三个额外的文件。它们来自哪里?

myfile.BASE

myFile.THIS

myFile.OTHER

我现在该怎么办?

我在文档中看到我需要选择一个。

因此,如果我选择BASE,我是否将myfile.BASE重命名为myfile mv myfile.BASE myfile然后呢?我不清楚该怎么办?我看到bzr resolve删除了这些额外的文件,那么bzr commit

再次感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这看起来像是文本冲突的情况:您当前的分支和另一个分支(“合并源”)都在myFile左右在同一行进行了一些更改。您必须手动解决此问题。为了帮助您,Bazaar创建了一些额外的文件:

  • myFile.BASE:这是myFile的版本,因为它位于两个分支的最后一个通用修订版X中。在修订版X之后,两个分支以冲突的方式更改了文件。
  • myFile.THIS:这是myFile的版本,因为它是您在bzr merge
  • 之前在当前分支中的版本
  • myFile.OTHER:这是myFile的版本,因为它位于另一个分支(“合并源”)中,您将从中合并

此外,myFile本身也经过编辑,其中包含所谓的“鱼骨”标记(<<<<<<<>>>>>>>=======),以标记文件中的区域来自当前分支或其他分支的变化。

这些文件仅供参考,以帮助您解决冲突。在某些情况下,解决方案只是从一个分支进行更改而忽略另一个分支。 bzr resolve命令有一些有用的标志:

  • bzr resolve --take-this myFile - 将通过从当前分支进行更改来解决myFile中的冲突,忽略其他
  • bzr resolve --take-other myFile - 同样,从其他分支进行更改

但大多数情况下,您需要修改myFile,查看标有<<<<<<<>>>>>>>的区域,进行必要的更正并手动删除标记。文件正确后,您可以运行bzr resolve myFile告诉Bazaar您已手动解决冲突。

或者,您可以使用bzr revert中止合并。

有关详细信息,请参阅文档: