SVN合并组合

时间:2014-06-12 09:18:10

标签: svn version-control merge tortoisesvn

最近,我遇到了将我的代码与我的同事代码合并的问题。这是故事。

1)首先,我自己开发我的项目。在那之后,一位同事加入了开发。

2)然后我使用我的开发代码作为中继代码,并像上传到svn trunk文件夹。

/svn/proj
/svn/proj/trunk/ (my trunk code here)

3)然后我svn mkdir做了两个分支,如此

/svn/proj  
/svn/proj/trunk/ (my trunk code here)  
/svn/proj/branches/peter/(my branch)  
/svn/proj/branches/paul/(my colleague's branch)  
4)然后我告诉我的同事检查主干的代码并使用这些代码作为其分支的基础继续开发。与此同时,我也使用相同的主干来继续开发。

这是问题

我们都使用togoise svn来完成整个签入/签出以及各种svn进程,经过一段时间后,他的代码已被修改,所以我的代码也是如此。有一天,我们尝试将两个代码合并在一起(在完成一些里程碑更改之后),但我们面临以下问题。

1)因为我和我的同事不互相干扰(即我不修改他的代码,反之亦然)。我想将我的代码和他的代码组合成一个,但我似乎无法在merge选项中找到类似的东西。我们如何在乌龟SVN中实现这一目标?

2)我对合并过程的概念如下

  1. 首先,我将我的最新分支合并回主干并提交更改
  2. 然后我告诉我的同事将他的代码合并到主干
  3. 他会遇到冲突,我需要坐下来和他一起解决
  4. 最后我们提交更改(解决所有冲突)
  5. 我们再次使用新提交的主干作为我们的分支基础来继续我们的开发,这个过程重复并继续。

    由于步骤3需要大量时间来执行,无论如何都能使整个过程更有效率吗?

    感谢您的所有建议!

1 个答案:

答案 0 :(得分:0)

<强>侧面笔记

如果您使用1.8之前的SVN,那么现在是时候更新它了

如果my colleague and I are not interfere with each otherHe will encounter conflicts无法显示

<强>思想

如果您是“重构地狱”(很多树冲突)的受害者,最好的方法是至少在重构阶段更改VCS

如果执行跨分支同步合并(读取svn help merge,“特征分支”,您可以尝试减少合并期间上下文冲突的数量(为什么它们存在?)更频繁地合并模式“部分”:理想情况下,在每次提交“外部”分支之后