开发人员都知道代码管理工具是开发中一个必不可少的工具,这里也不废话详细介绍了。不管你个人喜欢git还是svn还是其他,但还有一大部分公司在使用svn做代码管理工具。这里详细介绍下SVN提交文件时冲突问题的解决方式。

  假设A、B两个用户,他们分别从svn服务器中检出了test1.txt文件,此时A、B、服务器三个地方的test1.txt的版本都是13(我测试环境的当前svn赋予的版本号)。A、B文件的内容如下图(左A右B):

  ·

  接下来,B用户添加一句话并提交,内容如下:

  

  此时B用户和服务器的test1.txt的版本都变为14,只有A用户的test1.txt的版本还为13。接下来A用户添加一句“aa”,然后提交

  

  由于A用户是在13版本上做的修改,而服务器已经是14版本了,所以会提交失败:

  

  接下来就是我们要解决的问题了,解决方法分为以下两种方式。第一种方式:提交失败后直接选择revert,省去了解决冲突问题;第二种方式:提交失败后选择更新文件,这时会有冲突问题。详细介绍如下:

  第一种方式:

  A放弃自己修改的内容,进行Revert操作,使其test1.txt成为13版本的最初内容。然后update使其test1.txt成为14版本,再在14版本上修改提交。操作如下图:

    ==》     ==>然后再修改提交

  第二种方式:

  因为版本过时,提交失败后。A用户直接选择更新操作,结果如下图所见

  

  (这里声明下,不要被文件显示的图标所迷惑,这是其他软件对它做了关联导致的,没啥影响)

  这里详细说一下产生冲突后的这几个文件,:

    test1.txt.mine---这个文件是A用户在13版本中做了修改要提交的文件。它的内容是:13版本内容+A用户的修改

    test1.txt.r13----这个文件是A用户最初的13版本的test1.txt。它的内容是:13版本内容

    test1.txt.r14----这个文件时svn服务器中test1.txt的最新版本,这里既是B用户提交后的14版本。它的内容是:13版本内容+B用户的修改

    test1.txt--------由于A用户选择了直接更新,此文件就是svn将 最新版本14 与 A用户的修改 合并后的文件。它的内容如下:

              

  接下来说一下如何解决。对于源代码文件或其他的纯文本文件,我们可以将上图的A用户test1.txt的内容整理下,使其满足条件,然后 选择,这时test.txt.mine、test1.txt.r13、test1.text.r14将会消失。用户A就可以顺利提交了。但是,如果test1.txt是一个非纯文本文件,比如excel,这时的test1.txt将没法手动合并了,不得不放弃自己的修改。可以在test1.txt上右键选择消除掉test.txt.mine、test1.txt.r13、test1.text.r14这三个文件。(点击Resolve不会更改test1.txt以及服务器端的内容,仅仅是消除了那几个文件。)此时的test1.txt文件是可以提交的,它对应的是服务器的最新版本,即14版本(因为这是svn将服务器最新版本14和A用户修改内容合并后的结果)。但这是svn帮我们合并的,是不合法的文件。我们可以右键然后选择,然后test1.txt就会变成14版本,A用户的修改没有了,A、B、服务器的test1.txt都成为了14版本。如下图:

        

接下来A用户就可以再进行修改提交了。

总结

  对于纯文本文件因版本过时提交失败的情况,我们可以选择更新一下,然后打开”自己的修改和服务器最新版合并“后的文件(如上文发生冲突时的test1.txt文件),进行手动合并,处理好后选择resolve然后提交。

  对于非纯文本文件因版本过时提交失败时,我们只能牺牲一下自己,选择,然后更新到服务器最新版本,再修改提交

  

  

  如果有更好的方式,欢迎分享^_^

svn冲突问题详解的更多相关文章

  1. svn冲突问题详解 SVN版本冲突解决详解

    svn冲突问题详解 SVN版本冲突解决详解 (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svn ...

  2. 【转】svn冲突问题详解 SVN版本冲突解决详解

    (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svnresolved来告诉subversion冲 ...

  3. SVN冲突解决详解

    在: http://blog.csdn.net/windone0109/article/details/4857044

  4. SVN版本冲突解决详解

    SVN版本冲突解决详解 分类: SVN(SubVersion)2009-11-23 15:45 27014人阅读 评论(12) 收藏 举报 svnsubversion服务器文档工作c 版本冲突原因: ...

  5. svn版本提交冲突问题解决详解

    svn冲突文件解决方法   工具/原料   svn客户端 方法/步骤   1 通过SVN客户端更新需要的文件,如果出现有感叹号的文件,找到出现感叹号的文件. 2 选择感叹号文件,即冲突文件,单击鼠标右 ...

  6. SVN 树冲突解决详解

    https://blog.csdn.net/xgf415/article/details/75196714 SVN 冲突包括 内容冲突:当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发 ...

  7. SVN常用命令详解

    命令的使用1.检出 svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件的全路 ...

  8. SVN 权限配置详解

    SVN权限详细配置 本章将详细介绍SVN权限配置涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内 ...

  9. [转]SVN版本冲突解决详解

    原文地址:http://blog.csdn.net/windone0109/article/details/4857044 版权声明:本文为博主原创文章,未经博主允许不得转载. 版本冲突原因: 假设A ...

随机推荐

  1. Git 更换仓库地址

    github国内访问偶尔抽风速度太慢了,想把项目转到oschina上来,今天实践了一下,还是挺简单的. 1.  从原始地址 clone 一份不包含 work copy的仓库: git clone -- ...

  2. CSS3之图片3D翻转效果(网页效果--每日一更)

    今天,带来的是纯CSS3的效果--图片3D翻转. 请看效果:亲,请点击这里 这个效果主要还是运用了CSS3的transform变形属性,与上个效果不同的是,这次并不是动画,所以没有采用animatio ...

  3. 初中级Javascript程序员必修学习目录

    很多人总感觉javascript无法入门,笔者在这里写一下自己的学习过程,以及个人认为的最佳看书过程,只要各位能按照本人所说步骤走下去,不用很长时间,坚持个3个月,你的js层级会提高一个档次,无他,唯 ...

  4. javascript的执行和预解析

    很久以前遇到过一个面试题目,的的确确是面试官问我的问题,下面是这个问题的代码部分.由于年少无知,没有回答上,被无情pass了. var u ='hello world'; ;(function(){ ...

  5. Kinect for Windows SDK 1.8的改进及新特性

    今年3月, 微软推出了Kinect for Windows SDK 1.7 更新,包括了手势识别 Kinect Interactions 和实时 3D 建模 Kinect Fusion 两项新技术. ...

  6. mysql: error while loading shared libraries: libmysqlclient.so.16

    [root@host_41 mysql]# mysqlmysql: error while loading shared libraries: libmysqlclient.so.16: cannot ...

  7. vi 卡住怎么办

    http://zhidao.baidu.com/question/93283359.html ---------- 我貌似好像按了ctrl+s... 用惯了windows人,会习惯性地按Ctrl+S来 ...

  8. 知方可补不足~SqlServer连接的复用MultipleActiveResultSets

    回到目录 MultipleActiveResultSets可以使数据库连接复用,但当你上了moebius这种集群工具后,这个选项不能开启(默认是false),当你使用EF等ORM工具时,这个选项会默认 ...

  9. Python学习--06切片

    Python里提供了切片(Slice)操作符获取列表里的元素. 示例: >>> L = [1,2,3,4,5] # 取前2个元素,传统方法 >>> [L[0],L[ ...

  10. Atitit图像识别的常用特征大总结attilax大总结

    Atitit图像识别的常用特征大总结attilax大总结 1.1. 常用的图像特征有颜色特征.纹理特征.形状特征.空间关系特征. 1 1.2. HOG特征:方向梯度直方图(Histogram of O ...