linux下 svn up遇到问题怎么办

2022-06-23 15:09:21 浏览1527次 作者: 旋风

收藏

12.png


一、有时候svn up的时候,因为有冲突或者其他原因,导致无法更新,这时候你就可以强制更新,使用

svn up -force

这时候会出现如下选项:

Conflict discovered in 'a.txt'.
Select: (p) postpone, (df) diff-full, (e) edit,
(mc) mine-conflict, (tc) theirs-conflict,
(s) show all options:

这里说一下各个选项的意思:

p:标记冲突,稍后解决,这时候会在你本地给冲突文件生成几个文件,比如上面的a.txt会生成:a.txt  a.txt.mine a.txt.r164 a.txt-svn-base等

df:显示全部差异

e:编辑该文件

mc:以我的代码为准进行更新

tc:以服务器上的代码为准进行更新

s是什么意思我暂时不知道。

上面几个方式里,我会优先tc,以服务器为准,当然实际使用还是根据你的情况来。




二、还有一个方法,在svn up之前,你可以先预测一下svn是否冲突,运行命令(不同系统显示不一样,比如部分服务器系统不会显示冲突,新增无显示):

svn status -u

这样会出现类似下面的情况:

$xuanfeng~~:  svn status -u
U: Application/Controller/IndexController.class.php
U: Application/Controller/WechatController.class.php
U: App/Common/Article.class.php
G:Application/Controller/TixianController.class.php
G:Job/queue.php
C:config/cache.php

上面这个svn status -u的意思不是update,而是先进行update预测,大概有下面几个情况:

    1.文件会update,也就是最左边的U,你没改,但是服务器改了,这个不用管,运行svn update或者svn up会把该文件直接更新

    2.文件会进行merge,也就是上面的G,你改了,别人也改了,但是不会冲突,会自动合并,运行svn update或者svn up会把该文件直接更新并合并

    3.文件出现conflict,也就是上面的C,表示你和别人改了同一个文件的同一个地方,这个conflict是冲突的意思,当你进行svn update或者svn up的时候就会出现冲突,这时候你就可以先别更新你的文件了,建议你先备份一下这个文件到其它文件夹,再从这个文件夹进行svn up,更新完了,再对比你和别人上传的文件哪一个是合理的。


当您发现内容错误或代码bug,以及下载链接无法使用等,请点击屏幕右下角的上报错误来进行提交,我们会尽快修正。
本程序所有源码和工具完全免费,当本网站内容如果侵犯了您的权益,请联系我们,我们会尽快处理,感谢您的合作。

收藏 分享

相关文章

评论:

文明上网理性发言,请遵守 新闻评论服务协议

当前还没有评论,快来评论吧

上报错误