轻松解决SVN冲突

什么时候容易出现冲突?

多个人同时修改了同个文件中的同一行代码

无法进行对比的二进制文件,比如图片等

如何解决冲突?

å¾çæè¿°

如上图,test_conflict.py文件发生了冲突,并且多出了几个文件,其中.mine是我本地修改了还没提交的版本,.r2文件是上一个版本的文件,.r1是上上个版本的文件。

发生冲突时不用慌,我们可以轻松解决,选中冲突文件,右键如下操作

å¾çæè¿°

有几个选项我们来看下:

Edit confilicts:修改冲突,可以对冲突的行进行内容选择,后面我们详细说。

Mark as resolved:直接标记为已解决,这样会删除.mine、.r1、.r2这些文件,但这只是标记,如果你直接标记为解决,实际上文件还是冲突的,只是状态修复了。

Resolve conflict using 'theirs':使用他的提交覆盖我的修改来解决冲突。如果你的修改不需要提交,你可以方便的选择这个。

Resolve conflict using 'mine':使用我本地的版本覆盖他的来解决冲突。如果对方提交的代码没什么用,你可以直接使用这个来解决。

下面我们详细讲解下Edit confilicts这个选项。

å¾çæè¿°

上图是编辑冲突的界面,如果你的界面显示了很多空白符号,你可以点击顶部的“Show Whitespaces”来隐藏。

上图的左边.r2展示的是上个版本的变化,右边.mine是我们本地修改的版本,下面是表示合并后的效果。

左上的第12行下面的绿色等号表示这行被删除了,13、14行前面的+号表示这两行是新增的

右上的同样也是删除了一行,然后增加了第13行

下面区域的13,14行显示的是红色背景的问号,表示这两行SVN不知道如何合并代码。

假设我们需要13行保留我为我本地的修改,14行使用他人提交的。那么选中右上的第13行,右键选择“Use this text block”,表示使用这行的代码;

å¾çæè¿°

选中左上的14行,右键选择“Use this text block”。这样就搞定了,下面区域会显示合并后的效果

å¾çæè¿°

这样下面区域的冲突行就全部解决了,点击顶部工具栏的“Mark as resolved”标记为已解决好冲突,或者直接ctr+s保存也会提示“Mark as resolved”菜单。

å¾çæè¿°

到这冲突就完美解决了。

这里再解释下其他的一些菜单项:

Use this text block:使用这块代码为合并后的行

Use this whole file:使用这整个文件作为合并后的文件

Use text block from 'mine' before 'theirs':两边的代码都保留,我的代码在前面

Use text block from 'theirs' before 'mine':两边的代码都保留,我的代码在后面

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值