TortoiseSVN-如何将分支合并到中继中?

时间:2018-10-01 16:52:15

标签: merge tortoisesvn

我使用TortoiseSVN已有一段时间了,但从未真正分支/合并。我们的做法只是(从我们的开发服务器)提交到主干,(从我们的生产服务器上)从主干进行更新。

不过,最近,我已将完成分支和合并作为我的使命。分支非常容易,但是合并给我带来了一些麻烦;从概念上讲,合并并非难事,但实际执行中却会丢失一些东西。

作为一个简单的分支/合并练习,我从主干开始,该主干只有一页文字,上面写着“这是任何更改之前的主干”。我将该行更改为“这是来自项目A的代码”(没有提交到主干),然后从我的工作副本创建了一个分支,然后选择将我的工作副本保留在主干上,而不是切换到该新分支。因此,我已经使用“ Project A”代码创建了一个分支,但是我的工作副本仍位于主干上,其显示为“这是任何更改之前的主干”。然后,通过重复显示“这是来自项目B的代码”的行来重复该过程,为“项目B”创建了一个分支。

因此,我最终将工作副本放在主干上,其显示为“这是任何更改之前的主干”。我有两个独立的分支,分别用于项目A和项目B,我想将它们一次合并到主干中。我的想法是模拟这样的情况:我已经完成了两个不同项目的工作,但是我正在等待它们都被批准部署到生产中,而且我不知道哪个首先会被批准。或者在我需要开始在Project C上进行开发之前,如果其中任何一个甚至可以得到批准。

现在,我假装项目A已被批准,因此我试图将项目A分支与主干合并。我期望开始合并,得到一条消息说存在冲突,然后能够编辑冲突,以便项目A文本行替换合并文件上的文本主干行,然后能够标记冲突解决了。 (而且我意识到我可以在合并文件中包括两行,如果需要的话,可以在另一行的顶部)。因此,我希望在合并之后,主干上将显示一行“这是来自项目A的代码”,而行上的一行“这是任何更改之前的主干”将被删除。

但是,这没有达到我的预期。在主干中,右键单击该文件,选择“合并”,然后在对话框中选择“合并2个不同的树”。我为“ from”选择主干URL,为“ to”选择项目A分支URL。然后合并,但未显示任何冲突,并且主干或项目A分支上的内容均未更改。我的工作副本仍保留在主干上,并且该文件仍然只有1行文本,“这是任何更改之前的主干”。

我正在查看https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html上的信息,但不确定在哪里弄错了。任何帮助表示赞赏。

0 个答案:

没有答案