svn——conflict问题解决

今天工作中svn up工作目录的时候,发现有冲突的文件都自动执行跳过操作了,并且没有选项可以让我选择(如下图)

记得以前有冲突的时候让我选择操作我有主动选择mark resolved,然后svn现在就自动帮我跳过了冲突处理,不过问题还是存在的。

解决办法:

在有冲突的目录下执行 svn resolve (解决工作副本文件或目录的冲突)查看冲突信息

情况一:local file unversioned, incoming file add upon update

目录下出现了Tree conflict,

提示:local file unversioned, incoming file add upon update(本地文件没有版本控制,传入文件在更新时添加)

就是说我本地的文件和服务器上的文件有冲突,而且我本地的文件没有commit,所以现在问我怎么处理

选择:(r)标记已解决,(p) 推迟处理,(q)退出解决,(h) 帮助

执行 r 的话就是表示冲突已经修改好了,这时svn不会覆盖你本地的文件;

执行 p 的话就是表示暂时不处理;

执行 q 就是退出解决,感觉和推迟处理差不多,就是暂时先不处理吧。

如果是需要服务器上的文件覆盖本地的文件,一般先执行 p 推迟处理,然后执行

svn revert dir(有冲突的文件目录)  ——把本地文件恢复到服务器的版本

再执行svn up进行更新

情况二:local file delete, incoming file edit upon update

提示:Tree conflict  > local file delete, incoming file edit upon update (本地文件已删除,传入文件在更新时进行编辑)

这时有五个操作选项,执行 h 查看具体操作说明:

(mc) - 保留受此删除影响的任何本地移动 [保留我的冲突]

(r) - 标记已解决,任何受影响的举动都将成为副本

(p) - 推迟解决该冲突 [推迟处理]

(q) - 推迟所有剩余的冲突

因为我没有看到有可以覆盖本地文件的选项,所有这里我的处理方法和情况一一样。

(注:如果不需要保留自己本地目录的情况下,情况一和情况二还有另一种解决办法,就是把有冲突的目录删除再svn up即可)

情况三:

这个报错就好解决了,因为选项中已经有多种操作

(p) 推迟处理,(df) 显示差异, (e) 编辑文件, (m) 合并

(mc) 保留本地的冲突文件, (tc) 保留服务器中的冲突文件

(s) 显示所有选项

因为我更新的都是别人负责的代码,所有这里我执行了(tc) 保留服务器中的冲突文件

最后全部冲突解决

(如果本文中的内容有错误的地方,希望看到的大佬能够指出来,感谢!)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值