我最近加入了一个使用 SVN 1.7.5 的新团队,他们处理分支和合并的方式与我略有不同。我总是遵循这种模式:
- 从树干分支
- 根据需要将主干合并到分支
- 主干到分支的最终合并
- --reintegrate 合并分支到主干
- 删除分支
出于某种原因,他们确信您永远不应该在初始副本之后将主干合并到您的分支。相反,他们只是在完成后将分支合并回主干并解决那里的所有冲突。我不确定他们是否进行常规合并或 --reintegrate 合并。他们还做了一些时髦的事情,他们将不相关的概念验证分支中的东西直接合并到主干中,并有多个“主干”(如果这不仅仅是一个放置在主干旁边的长寿分支而不是分支目录)。
我面临的问题是,每当我以我习惯的方式处理分支和合并时(我相信这通常被认为是“正确”的方式),在重新集成功能分支时我会遇到大量的树冲突。我现在得到的一个例子是几个文件,这些文件起源于一个概念验证分支,这些文件被合并到主干中,随后又合并到我的特性分支中。我没有触及这些文件,但重新集成为其中一些(但不是全部)提供了“本地添加,合并时的传入添加”。
团队中的另一个人也决定尝试一下,并在重新集成之前将主干合并到他的功能分支。在他的案例中,他遇到了大量的树冲突,其中一个是在一个直接添加到树干且从未在任何分支上修改过的文件中。他通过将他的分支回滚到他拉入主干并像其他人一样进行重新集成之前的修订来解决这个问题。
是否有可能我们的存储库中的某些内容已损坏?其他人都在使用的分支方案会导致 SVN 混淆吗?我能做些什么来修复任何问题吗?