在使用Eclipse SVN插件进行团队开发的过程,假设开发人员A和B都获取了同一个文件的最新版本(假如版本号为8),并都对其进行了改动,成员A已经提交了自己所作的改动(版本号变为9),如果此时成员B想要提交自己的改动,就极有可能与成员B已经提交的改动产生冲突。

如下图所示,在Eclipse SVN同步视图中的Test.java就是一个产生了版本冲突的文件,那么我们该如何解决SVN的文件冲突呢?

1、解决简单的文件版本冲突

对于产生版本冲突的文件,如果两个人改动的不是同一处位置,例如成员A只改动了文件头部,成员B只改动了文件的尾部,那么无需过多担心,因为现在的SVN已经非常智能,只要两者的改动互不影响,SVN可以智能地将其合并,最后的结果就是文件头部是A改动的结果,尾部是B改动的结果,中间保持不变。

这种情况下,我们可以直接右键该文件,先在关联菜单中点击【更新】(Update),将服务器上的改动更新到本地,然后再点击【提交】即可。

2、解决二选一形式的文件版本冲突

经过文件对比后,如果我们发现两者改动的是同一个位置或者是同一个功能点,那么我们可能需要选择性地保留一个,舍弃另一个。

如果舍弃的是本地文件,请右键单击该文件,然后在关联菜单中点击【覆盖/更新】(英文:Replace/Update),此时Eclipse将提示"是否删除本地更改,并替换为资源库中的文件",直接点击【Yes】即可舍弃本地更改,并更新为资源库中的最新版本。

如果舍弃的是资源库中的文件,请右键单击该文件,然后在关联菜单中点击【标记为合并】,然后再点击【提交】即可。

3、解决复杂的文件版本冲突

如果本地和资源库中的文件改动都"各有所需"又"各有所弃",那么我们只能在文件对比中,一处处对比不同之处,并逐步修改为最终版本。

在修改与合并的过程中,有两个图标按钮比较重要。如下图所示的红色边框标注的两个图标,前者可以将右侧与本地文件没有产生冲突的改动复制到左侧的本地文件中(比如,只有main()方法有冲突,右侧的sayHi()方法没有冲突,右侧的sayHi()方法部分就会复制到左侧文件相匹配的位置),后者用于将鼠标光标当前所在的右侧改动区域复制到左侧相应位置。

在确认改动完成之后,同样的点击右键关联菜单中的【标记为合并】,然后直接【提交】即可。

解决Eclipse SVN文件冲突详解相关推荐

  1. Eclipse SVN文件对比详解

    当我们使用Eclipse SVN插件进行团队合作开发时,有些时候我们可能想要将某个文件的本地版本与服务器上的最新版本(或历史版本)进行对比,以便于查找出改动的不同之处. 1.与SVN服务器上的最新版本 ...

  2. phpstorm之 svn 控制的文件颜色详解

    svn 控制的文件颜色详解 如图,红色代表所在的文件已经加入版本控制了,但是这个文件是新建的,还没有加入svn;操作如下图 绿色代表已经加入svn版本控制 ,但是还没有提交文件,,如图,直接提交文件 ...

  3. Pom.xml文件教程详解

    原创整理不易,转载请注明出处:史上最全的maven pom.xml文件教程详解 代码下载地址:http://www.zuidaima.com/share/1781583829978112.htm   ...

  4. SVN switch 用法详解 (ZZ)

    SVN switch 用法详解 (ZZ)  http://www.cnblogs.com/dabaopku/archive/2011/05/21/2052820.html 确实,以前不会用switch ...

  5. mysql映射mapper_Mybatis中Mapper映射文件使用详解

    紧接上文所述,在这篇文章中我将对Mapper映射文件进行详细的说明. Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd.我们先大体上看看 ...

  6. 43. Systemd的Unit配置详解,unit文件位置,优先级,unit类型,unit文件字段详解,Unit/Service/Install字段,添加mysql服务等例子

    Systemd的Unit配置详解,unit文件位置和优先级,unit文件类型,unit文件字段详解,[Unit]字段,[Service]字段,[Install]字段,添加服务,创建.service 文 ...

  7. php js跨域上传文件,Jquery实现跨域异步上传文件步骤详解

    这次给大家带来Jquery实现跨域异步上传文件步骤详解,Jquery实现跨域异步上传文件的注意事项有哪些,下面就是实战案例,一起来看一下. 先说明白 这个跨域异步上传功能我们借助了Jquery.for ...

  8. Eclipse Java Build Path详解

    Eclipse Java Build Path详解 1.设置"source folder"与"output folder". * source folder:存 ...

  9. java读写json格式的文件方法详解.txt,并批量存储进redis

    捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...

最新文章

  1. c++list支持索引吗_还在为不懂Python切片操作及原理而苦恼吗?漫画帮你立马理解掌握...
  2. 详解Scala函数也是对象的特性
  3. python arcgis批量绘图_python调用ArcGIS批量生成多环缓冲区(多边形等距离放大)...
  4. 【新插件发布】AzureAD运维Excel版插件,增删改查快10倍c以上!
  5. JPA persistence.xml SQL脚本定义
  6. 【OpenCV 例程200篇】97. 反谐波平均滤波器
  7. pycharm创建scrapy项目
  8. matlab anova 如何不画图,方差分析的数据处理和作图
  9. 导入工程时出现错误:Invalid project description http://berdy.iteye.com/blog/1115279...
  10. compositionstart、compositionend事件屏蔽拼音状态
  11. vue3 reactive 对比 react useState 以及 ramda 和 lodash 的取舍问题
  12. vue:监听浏览器地址栏变化
  13. 三步棋,跟着bit鹏哥学得
  14. 证券交易金融知识学习(1)
  15. 机器学习——特征工程
  16. 实体店防盗,RFID技术作用巨大
  17. 形象的解释一下ERP系统的运作流程
  18. 【虚幻引擎UE】UE4/UE5 通用插件推荐及使用介绍
  19. LV.5 进程、线程和进程间通信
  20. 3.1 Docker最新入门教程-Docker入门-概述

热门文章

  1. 模仿别人的简单贪吃蛇程序
  2. Javascript常用方法备份
  3. LVS-DR模式的实现
  4. python 单词拆音节_python去除拼音声调字母,替换为字母的方法
  5. img 字体失真背景变形
  6. C#工厂模式-简单工厂模式
  7. 仿QQ聊天软件服务器
  8. 使用日志记录来衡量性能(WWDC 2018 session 405)
  9. 国家信息安全水平考试(NISP一级)考试题库7
  10. 基于camera2 untiy悬浮窗摄像头预览分析