最近在使用SVN,合作开发的良好的代码管理工具。帮助我们合并文件和进行版本控制。但是多人操作,就会容易引起冲突。下面看一下冲突的类型和解决方案。

    一,SVN冲突类型

           1.文件冲突

当两名或多名开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。

           2.树冲突

    当一名开发人员移动、重命名。删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。

    二,文件冲突的解决方案

    发生冲突时就会出现这个界面。

    

android studio svn 合并代码 svn合并代码冲突_开发人员

 

3个窗口。

        Theirs窗口为服务器上当前最新版本

        Mine窗口为本地修改后的版本

        Merged窗口为合并后的文件内容显示

    如果要使用服务器版本,在Theirs窗口选中差异内容,右键,选择Use this textblock(使用这段文本块)。同理如果要使用本地版本,在协商后,在Mine窗口右键,选择Use this textblock(使用这段文本块)。修改完成后进行保存。在你的冲突目录下,选中文件-右键菜单-TortoiseSVN-Resolved。冲突就会解决。然后在进行提交。

    解决方法二:

    打开有冲突的文件夹,冲突的地方会出现下面的代码痕迹。

    

android studio svn 合并代码 svn合并代码冲突_开发人员_02

   


    选择你要用哪块儿代码,然后把<<<<<<<.mine和=======之=======与>>>>>>> .r6336这种标记删除。删除以后,选中文件-右键菜单-TortoiseSVN-Resolved。冲突就会解决。然后在进行提交。

    三,树冲突解决

    比上面的一类问题更难解决。目前还没有解决过这类问题,解决过以后再给大家分享。

    四,避免冲突的方法

    通过上述,可见冲突解决费时费力,影响我们的开发进度,因此我们应该适当的避免。

   (1)尽量一个人操作一个类,这样避免两个人同时更改一个文件导成冲突。

   (2)更新的可以稍微频繁一点儿,不要等着最后做完一块儿提交,这样可能堆积了过多的冲突。

          SVN冲突可能还有好多类型,等着我们发现等着我们去解决。在错误中成长。