SVN分支合并代码以及过程中需要注意的问题

本文主要讲述关于SVN代码分支合并的基本步骤和需要注意的问题。


基本流程

将 主干 最新代码更到本地 ===> 在本地主干上执行 Merge 进行合并 ===> 提交代码 - OK!


Merge合并具体操作和需要注意的相关问题

输入SVN路径,选择版本号:
注意: 为了保证最少的冲突,我个人选择对应的log版本号一个个来合并或者范围选择merge,即选中头一个版本log号,再选末尾版本log号构成一个范围。

这样的做法,优点是:最大可能减少代码冲突,同时能快速解决冲突。缺点是:需要多几次来合并。

如果不想多几次合拼,则选择第一个选项可一次性合并,即选择【all revisions】,但是代码冲突量可能会超乎你想象。当然,不选择log版本号直接下一步也是可以一次性进行合并,同样也是面临大量的代码冲突。

如果只是版本的叠加,那直接一次更新就好。但,如果是不同的人在不同的分支更改提交,建议还是一次次merge

为了避免这样的情况,在开发过程中代码最好不要随便提交,最好是按照完整功能点提交,或者一天下班就一次。

tortoiseSvn 合并代码 过滤框中怎么选多个作者 svn如何合并代码_SVN

tortoiseSvn 合并代码 过滤框中怎么选多个作者 svn如何合并代码_分支合并_02

tortoiseSvn 合并代码 过滤框中怎么选多个作者 svn如何合并代码_SVN_03

tortoiseSvn 合并代码 过滤框中怎么选多个作者 svn如何合并代码_版本号_04


合拼好之后直接commit提交就好了!


代码冲突解决

合并后有冲突时,弹出的对话框如下图,注意此时resolved按钮是灰色:

tortoiseSvn 合并代码 过滤框中怎么选多个作者 svn如何合并代码_SVN 分支合并_05


这时候,我们需要选择Edit confict按钮,打开SVN进行人工解决冲突合并代码。合并好之后save保存后关闭。

之后,就回到处理冲突的对话框中,会发现之前resolved按钮是灰色,现在变成可点按钮:

tortoiseSvn 合并代码 过滤框中怎么选多个作者 svn如何合并代码_分支合并_06


总结

  1. 看具体情况需要一个个log来merge合并,还是需要all revisions来一次性合并。前者步骤比较多,但是如果log记录过多会很繁琐。后者,一步到位,但是可能需要你去解决大量的冲突。如果只是版本的叠加,那直接一次更新就好。但,如果是不同的开发者在不同的分支进行代码提交,建议还是一次次选择log来merge实现合并
  2. 人工解决冲突需要自行留意,别把别人的东西给干掉。

OK~~