svn解决冲突

冲突是如何出现的

2个用户修改了同一个源文件,A用户先提交代码,然后B用户提交代码,这个时候就出现冲突了。


如何解决冲突

4个文件

出现冲突之后,B用户这边出现了4个文件(1个是源文件本身 + 3个附加的源文件)
1.源文件本身的意思是指,该文件在解决冲突之后可以被提交。
这个文件里面包含了本地的文件,加上自己修改的代码,加上别人修改的代码。除此之外,还有小于号、等号、大于号等内容:
<<<<<<<< mime
B用户修改的代码
=============
A用户修改的代码
>>>>>>>>r最新版本



注:在小于号和等号之间的代码,是当前用户修改的代码;
在等号和大于号之间的代码,是别人修改的代码。



2.3个附加的源文件是指,这3个文件在解决冲突之后将自动消失。
a.mime文件(本地的文件,加上修改的代码)
b.r版本(本地的文件,不包括修改的代码——其实就是最新版本的上一个版本的源文件)
c.r版本(最新的版本,即与svn服务器上的文件一致)


编辑冲突

右键源文件本身——》编辑冲突,打开文件对比窗口,该窗口会出现mime文件(即左边的文件,名字叫merged file) + r最新版本的文件。
1)被修改的内容分2种,一种是可以合并的修改,一种是冲突的修改(红色部分是出现冲突的修改)。
2)对于冲突文件,我们只需要解决冲突的修改即可。
3)如何解决呢?一定要手动把r最新版本文件夹的红色部分复制到mime文件,并且删除mime文件的红色部分。
4)保存。
注:或者点击按钮操作(复制当前选择的红色修改到左边文件),把r最新版本文件的红色部分复制到mime文件;
并且,要手动删除mime文件的红色部分。

解决冲突

3.右键源文件本身——》解决冲突。目的是告知svn冲突已经解决。
这个时候会发现3个附加的源文件已经消失。


提交

4.右键源文件本身——》提交。











附加:解决冲突时的相关技巧

查看某个文件的本地修改历史记录

查看某个文件的每一次的本地修改过的历史记录,既可以查看该文件的本地历史记录,也可以比较每次的本地历史记录与当前工作空间的区别。
1、查看某个文件的每一次的本地修改过的历史记录
右键文件——》Compare with——》LocalHistory
或者
右键文件——》Team——》Show Local History

2、然后,比较某一次的历史记录与当前工作空间的区别
右键某次历史记录——》Compare Current with Local
或者
双击


查看某个文件的svn提交记录

1、查看历史记录
右键文件——》Team——》显示资源历史记录
或者
双击

2、比较历史版本记录与当前工作空间的区别
右键某次历史记录——》Compare Current with Local


解决冲突的几种不同的思路

1、第一种思路
1)提交时出现冲突,总共生成了4个文件。
2)右键冲突文件——》Team——》编辑冲突:比较各种不同文件的区别——最主要的思想是把本地的文件更新为svn的最新版本,然后将自己修改的部分添加进去。
3)右键冲突文件——》Team——》解决冲突:主文件现在是svn最新版本的文件加上自己修改的部分,其他3个生成的文件现在立即消失。
4)提交主文件。

2、第二种思路
放弃本地自己的修改。
冲突文件立即消失。
剩下的就剩一个文件,是svn仓库最新版本的文件。

1)右键冲突文件——》Team——》还原,即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值