对于每个冲突的文件Subversion在你的目录下放置了三个文件:如下:

为什么会产生冲突代码呢?原因很简单就是因为不同的人,同时修改了同一个文件的同一个地方,这时候,他提交了,我没有提交,我就提交不了,这个时候我们要进行先更新,然后在进行提交即可,那如果产生冲突,会生成如上3个文件。

问题分析

首先我们可以看下1.txt代码如下:

<<<<<<< .mine

aaaasdf11222333 dderderder

=======

b>>>>>>> .r5

然后我去掉多余的代码,1.txt变成这样

aaaasdf11222333 dderderder

进行提交,还是提交不了,如下所示:

为什么?因为冲突会产生上面的三个文件,有上面3个文件存在肯定提交不了,这三个文件代码及解释如下:

  1. 1.txt.mine 是冲突前自己的文件。可以看下内容如下:

aaaasdf11222333 dderderder

2.  1.txt.r4 是冲突前本地的版本文件

内容如下:aaaasdf11222333

3.  1.txt.r5  是别人赶在你之前提交的版本

内容如下: b

其中,<<<<<<<<.mine .....=======之间的代码是你自己的,而======......>>>>>>>.r5是别人与你冲突的代码部分

这样就不难理解为什么会产生冲突这种奇怪的东西了,因为你们修改的同一块代码,当然会产生冲突。

解决方案:

  1. 假如我现在的1.txt中的冲突内容如下:

<<<<<<< .mine

6666666666666600000

=======

66666666666aaaaaaaaaa666

>>>>>>> .r16
    前面说过  <<<<<<< .mine …… =======

……之间的代码是我未产生冲突之前修改的代码,

    ======= ………>>>>>>> .r16 这中间……的代码是别人与我冲突代码的部分,从上面的代码可以看到 aaaaaaaaa是我同事新增的 ,00000是我后增加的。

解决方案一:

使用revert(回滚)操作,该操作表示用户放弃自己的更新代码,然后直接提交,这个时候你的代码就会使服务器上最新的代码,即A用户提交的新代码,你的代码不会被提交,如下所示:

点击ok按钮后 可以看到其他三个文件都自动删掉了,1.txt代码变成如下代码:

66666666666aaaaaaaaaa666

也就是a用户提交的代码,我自己更新的代码需要自己动手复制进去即可提交commit。

解决方案二:

假如我现在3.txt产生冲突代码如下:

<<<<<<< .mine

333333338888888888888=======

3333cccccccccc3333>>>>>>> .r16

通过第一点我们知道,333333338888888888888这个内容是我修改后,未产生冲突之前的内容,3333cccccccccc3333这个代码是A用户提交的代码,从上面得知 A用户新增内容是ccccccc,而我新增的内容是8888888。

那么第二种解决方法如下:

选择文件->右键Editconficts:这种方法需要冲突双方经过协商之后将代码更改统一之后再提交。不仅解决了冲突而且还保证了代码是正确的,因为只有一方的代码被提交.

如上图所示,红色的部分是冲突代码:theirs表示当前服务器端最新的代码,Mine表示自己修改后的代码,Merged表示合并后的代码。点击红色后右键选择:use this text block就可以将该部分代码作为合并后的代码

代码覆盖后的恢复问题

接下来再说说由于冲突导致重要代码被覆盖的情况。冲突发生时如果采取的措施不对可能会导致部分代码丢失,如果想要还原之前的代码也很容易。

选择文件->右键选择show log在这里面你可以看见之前提交的所有版本,找到你想要恢复的版本右键选择Revert to this version 就可以恢复了。(双击下方的文件可以查看选中版本的内容)

SVN冲突解决方案总结相关推荐

  1. Eclipse SVN冲突解决方案

    2019独角兽企业重金招聘Python工程师标准>>> SVN冲突解决方案 大家一起开发,难免有时会同时修改同一个文件,这样就要学会解决冲突.当大家更新代码,发现以下情况的时候,就说 ...

  2. Eclipse SVN冲突详细解决方案

    Eclipse SVN冲突详细解决方案 参考文章: (1)Eclipse SVN冲突详细解决方案 (2)https://www.cnblogs.com/jpfss/p/9007981.html 备忘一 ...

  3. 关于SVN版本控制工具的冲突解决方案

    本文只是关于SVN版本控制工具的冲突解决方案的一点说明.       由于开发人员之间欠缺沟通,往往会出现统一开发模块中有冲突问题发生,此时也突出显示了版本控制工具的优越性.如下:左上方×××区域凸显 ...

  4. svn - 冲突及解决方案

    1. 本地文件过期 如果版本库中的某一文件已经改变了(另一个working copy 执行提交).但是修改的部分(如只修改第一行) 和我本地的代码(如只是修改了第二行)不一致但是并不冲突.不过执行提交 ...

  5. SVN代码冲突解决方案小集合

    对于刚接触svn的人来说,svn冲突后,不能提交是件让人很郁闷的事情.最让人郁闷的事,是代码间的覆盖.你把我代码盖了,我会很火大的.谁把谁的盖了都不爽. 为什么会出现代码冲突问题呢,因为不同的人,同时 ...

  6. SVN学习总结(2)——SVN冲突解决

    2019独角兽企业重金招聘Python工程师标准>>> 在我们用VS进行项目合作开发的过程中,SVN的提交控制是至关重要的,大家不可避免的都遇到过SVN冲突的问题,开发的时候,应该认 ...

  7. 版本管理-SVN冲突爆红后如何通过颜色和快捷键准确无误地合并代码(一)

    SVN冲突出现场景 如今是一个团结协作的时代,开发一个系统,往往会多人协作共同完成.版本管理是必不可少的,常用的软件有Git,SVN等.今天说一下,SVN管理版本时,如果出现冲突后,如何快速解决冲突. ...

  8. SVN冲突出现原因及解决方法浅谈

    SVN冲突出现原因及解决方法浅谈 参考文章: (1)SVN冲突出现原因及解决方法浅谈 (2)https://www.cnblogs.com/andy1202go/p/8085062.html 备忘一下 ...

  9. 【Android 插件化】Hook 插件化框架 ( 从源码角度分析加载资源流程 | Hook 点选择 | 资源冲突解决方案 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

最新文章

  1. java排序——插入排序
  2. 解决Android Studio编译后安装apk报错:Error while Installing APK
  3. Delphi7的控件安装与删除
  4. JAVA编程心得-JAVA实现CRC-CCITT(XMODEM)算法
  5. 【渝粤题库】广东开放大学 Linux操作系统 形成性考核
  6. is array php,PHP 源码 — is_array 函数源码分析
  7. Linux基础知识之用户和用户组以及 Linux 权限管理
  8. BNU 斩(超级大水题)
  9. 科技T3国产平台!成功搭载“翼辉国产实时系统SylixOS”
  10. VLIW的前世今生:为什么DL加速器都青睐于它
  11. PHP实现文章评论系统
  12. 如何在win7下安装XP系统?
  13. mip-html自动跳转页面,MIP建站系统常见问题汇总
  14. Andoid扫码枪监听
  15. PAT 乙级 1100 校庆
  16. 2小时速刷8大项目——上海迪士尼一日游攻略
  17. BeJSON—实用网站(二)
  18. 拉普拉斯金字塔分解及图像融合
  19. PC的足迹--新的篇章《二》
  20. Qml学习记录 一(风车动画详细建造步骤)

热门文章

  1. linux最新内核4.19,Linux Kernel 4.19发布,初步支持Wi-Fi 6, 新EROFS文件系统
  2. 【2014 年末岁首】
  3. 祛除装修异味的方法 总有一种适合你!
  4. 网文如何偷走了我的时间?
  5. 对struct cred新理解
  6. 交叉编译zlib,libpng
  7. 简易双人坦克大战制作流程(二)
  8. sourcegraph/conc: Better structured concurrency for go
  9. 844. 比较含退格的字符串
  10. iOS常见问题笔记总结这是本人开发中遇见的一些常见问题处理方法的总结笔记,包括http访问配置、Alcatraz插件安装、最新cocoapod安装、真机运行出错等许多与参考笔记总结,希望对大家有所帮助