颠覆:如何解决合并中的冲突--重新整合?



我以一种非常简单的方式使用 Subversion:我是唯一一个处理代码的人,我有一个 "prod" 和一个 "devel" 分支。每当我尝试合并 --重新整合除最简单的更改之外的任何内容时,我都会遇到冲突和很多关于如何处理它们的选择,我不明白,因为我不明白在这种情况下"我的"和"他们的"的含义(只有"我"(。此外,自从上次成功重新集成以来,我在"prod"分支中根本没有进行任何更改,而且我也没有忘记在合并后签入和更新。

最近几次我遇到这种情况,我最终删除了 .svn 子目录和存储库,并根据我的"devel"子树的最新内容启动了一个新的存储库。

不用说,我已经多次仔细阅读了 svn 书中的相关章节,但它只提到了冲突场景,其中确实有其他人一直在处理同一文件的同一部分,这在我的情况下显然没有发生。

所以我的问题是:

  • 为什么首先会出现冲突?

  • 发生冲突时,我需要做什么才能解决冲突?

似乎我必须首先将 ^/prod 合并到 ^/devel,然后将 ^/devel 重新集成到 ^/prod 中(中间有签入和更新(。我很确定自上次重新集成以来我在/prod 中没有任何变化,但可能是错误的,然后被那些"我们与他们"错误消息弄糊涂了。

svn书提到应该首先合并,但我没有太注意,因为我认为这仅适用于"他们"独立于"我"对树干做了某事的情况。

为什么冲突

首先会出现?

因为有些东西出现在冲突状态,显然

发生冲突时,我需要做什么才能解决冲突? 检查自然,手动解决。

顺便说一句,您始终可以在使用--dry-run选项在真正合并之前测试合并,检查结果并准备真正合并所需的一切

。或者迁移到 Mercurial,在明显的情况下,你会得到更少的合并地狱(还有一些不明显的 SVN - 也,比如合并分支中编辑+重命名的合并(

最新更新