本地开发环境出现一个问题,用revert完美解决。

问题描述:

文件static/image/common/jiqiaodaren.png已经被提交到svn上,但是我的开发环境因未与svn同步,所以没有这个文件。

而且我没有确认这个文件是否已存在svn上,错误地认为这个文件是个新文件。

我做了以下操作:

1,svn add static/image/common/jiqiaodaren.png
2,svn ci static/image/common/jiqiaodaren.png -m ''

第1步未提示,第2步提示:

新增 (二进制) static/image/common/jiqiaodaren.png
svn: 提交失败(细节见下):
svn: 文件“/svn/***/trunk/static/image/common/jiqiaodaren.png”已存在

===问题描述完毕===

中间步骤

于是我删除本地文件,获得svn上更新。

1,rm static/image/common/jiqiaodaren.png
2,svn up static/image/common/jiqiaodaren.png
svn: 不能复制“static/image/common/.svn/text-base/jiqiaodaren.png.svn-base”到“static/image/common/.svn/tmp/jiqiaodaren.png.tmp.tmp”: 没有那个文件或目录

之后胡乱尝试

1,svn up static/image/common/jiqiaodaren.png
svn: 不能复制“static/image/common/.svn/text-base/jiqiaodaren.png.svn-base”到“static/image/common/.svn/tmp/jiqiaodaren.png.tmp.tmp”: 没有那个文件或目录 2,svn st static/image/common/jiqiaodaren.png
! static/image/common/jiqiaodaren.png 3,svn up static/image/common/jiqiaodaren.png
已还原“static/image/common/jiqiaodaren.png”
svn: 无法新增文件“static/image/common/jiqiaodaren.png”:同名物件已存在 4,svn st static/image/common/jiqiaodaren.png
A static/image/common/jiqiaodaren.png

===中间步骤完毕===

解决

直到遇到这个命令:

1 svn revert static/image/common/jiqiaodaren.png
已恢复“static/image/common/jiqiaodaren.png” 2 svn st static/image/common/jiqiaodaren.png
? static/image/common/jiqiaodaren.png 3 svn up static/image/common/jiqiaodaren.png
svn: 无法新增文件“static/image/common/jiqiaodaren.png”:同名物件已存在 4 rm static/image/common/jiqiaodaren.png 5 svn up static/image/common/jiqiaodaren.png
A static/image/common/jiqiaodaren.png
更新至修订版 1384。

不知道原理,反正是解决了。我勒个去

===解决===

现象描述

现象:

在svn服务器上同事删掉了我的分支,然后又恢复回我的分支到新的版本。我本地环境还是原先的版本。

现在我的本地版本是100,服务器的版本是200。

问题:执行 svn update 提示有冲突,svn commit也提示:SVN commit:remains in tree-conflict

===现象描述结束===

解决

解决:

1,我的本地版本放到临时目录(src_bak)中:rsync -r myBranch/ src_bak/ --exclude=".svn"

2,删除我的本地版本:rm -rf myBranch/*

3,更新本地版本库到最新:svn update myBranch/*

4,执行文件恢复命令:svn revert myBranch --depth infinity

5,检查文件状态:svn status

发现没有冲突,和checkout的效果一样。解决

===解决结束===

===总结如下===

如果本地修改了某个文件未提交,服务器上同时提交了同一文件的修改,正常来讲,svn up就能列出不一致的文件,或者是M状态,或者是C状态,或者是可以merge的。

但某些情况下,本地的版本和远程的版本无法合并,这个时间通常已经有本地svn操作,但无法合并到server端。这种情况下就需要把本地的提交撤销,命令是:svn revert [-R] file。

思路就是:先备份要提交的文件,然后revert,删除本地文件,update,commit。

如果文件很多,先备份这个目录,删除本地文件,update,revert -R,commit。

svn revert的更多相关文章

  1. SVN: revert all command

    If you accidentally marked all your files as "delete" (your file/folder has a red x on it) ...

  2. svn add后的数据如何取消-svn revert??--zz

    svn add后的数据如何取消-svn revert?? 有时候你发现svn add后,这个提交的数据又不需要了.这时候需要有svn revert来处理了. 原文链接:http://hi.baidu. ...

  3. SVN revert命令的使用

    evert命令顾名思义就是对修改过的东西进行回滚操作.一般有2种情况发生时需要用到回滚的操作: 1,修改过的东西没有递交(commit) 这种情况下revert会取消之前的修改 用法:#svn rev ...

  4. svn:revert to this version 和 revert changes from this version的区别

    假设我们有许多个版本,版本号分别是1-10 如果我们在7这里选择revert to this version那么7之后的8,9,10的操作都会被消除 如果在7选择revert changes from ...

  5. svn:revert to this version 和 revert changes from this version的区别 假设我们有许多个版本,版本号分别是1-10

    假设我们有许多个版本,版本号分别是1-10 如果我们在7这里选择revert to this version那么7之后的8,9,10的操作都会被消除 如果在7选择revert changes from ...

  6. 第14月第30天 svn 撤销ignore revert

    1. 直接到被ignore的位置,执行: svn add <你被ignore的文件名> --no-ignore –no-ignore是取消忽略 如果是add目录,你可以: svn add ...

  7. svn Can't revert without reverting children 解决方案

    EMZ3.0 qrh$ svn commit -m ""svn: E155010: Commit failed (details follow):svn: E155010: '/U ...

  8. svn的revert、checkout、clean up、setting

    svn revert 描述恢复所有对文件和目录的修改,并且解决所有的冲突状态. svn revert不会只是恢复工作拷贝中一个项目的内容,也包括了对属性修改的恢复.最终,你可以使用它来取消所有已经做过 ...

  9. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

随机推荐

  1. final使用

    final修饰  基本数据类型时候   对应的 数据不能改变:::final修饰 对象类型 ,那么对应的引用地址不能改变(对象中的值可以改变): 如果final修改方法,那么该方法不能被子类重写 :: ...

  2. MySQL导入乱码解决

    导入时出现乱码,需要在语句中添加指定导入数据的编码格式: mysql -uroot -p database_name < database_backup.sql --default-charac ...

  3. 一键批量ping任意ip段的存活主机

    =======================by me===================================== @echo offecho.color FC for /f %%i ...

  4. 用VulApps快速搭建各种漏洞环境

    项目主页 https://github.com/Medicean/VulApps 项目介绍 收集各种漏洞环境,统一采用 Dockerfile 形式.DockerHub 在线镜像地址 获取并使用相关镜像 ...

  5. Ubuntu下NFS,TFTP服务搭建

    环境:Ubuntu 一. 搭建NFS服务器 (1)安装: sudo apt-get install nfs-kernel-server   #安装NFS服务器端 sudo apt-get instal ...

  6. get与post 获取参数值的方式

    get方式  参数带在url后面,form表单中的域  可以 没有value 属性, 后台可以直接在方法的参数中加入和url一样的参数就能直接获得该参数的值(效率高,不安全) post方式 url链接 ...

  7. C#连接sqlserver数据库

    // 混合登录 写法1:Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPas ...

  8. Docker私有仓库1

    一.搭建私有仓库 #环境 Ip 192.168.0.34 X86云主机 [root@lh- /]# uname -a Linux lh- -.el7.x86_64 # SMP Thu Mar :: U ...

  9. 一步一步学EF系列3【升级篇 实体与数据库的映射】

    之前的三张为基础篇,如果不考虑架构问题,做一般的小程序,以足够用了.基本的增删改查也都有了.但是作为学习显然是不够的.通过之前三章的学习,有没有发现这样写有什么问题,有没有觉得繁琐的?可能有人会说,之 ...

  10. LeetCode OJ 162. Find Peak Element

    A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ ...