本地开发环境出现一个问题,用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. 1.部分(苹果)移动端的cookie不支持中文字符,2.从json字符串变为json对象时,只支持对象数组

    1.移动端的cookie不支持中文字符.可以用编码,解码的方式解决. 2.json字符串变成相应 的,json对象数组字符串.就这样 3.不同客户端(移动端.电脑)的请求,在C#服务端的取时间的格式竟 ...

  2. android 简单粗暴的注解初始化View学习

    原理是在Activity加载好后通过找到Activity中使用注解的字段,再通过Java反射的方式,动态的给这个字段设置值. 1定义一个注解接口 /** * view inect by id * * ...

  3. zoj 1718 poj 2031 Building a Space Station

    最小生成树,用了Kruskal算法.POJ上C++能过,G++不能过... 算出每两个圆心之间的距离,如果距离小于两半径之和,那么这两个圆心之间的距离直接等于0,否则等于距离-R[i]-R[j]. # ...

  4. POJ 1065 Wooden Sticks#贪心+qsort用法

    (- ̄▽ ̄)-* 这道题用到了cstdlib库的qsort()函数: 用法链接:http://www.cnblogs.com/syxchina/archive/2010/07/29/2197382.h ...

  5. 5、Struts2自定义拦截器

    一.拦截器相关知识 1.Struts2框架剖析 Holly版本生活案例: 影视公司(拍电影)    ActionMapper 传媒公司(包装明星) ActionMapping 明星           ...

  6. 单尺度二维离散小波分解dwt2

    clc,clear all,close all; load woman; [cA,cH,cV,cD]=dwt2(X,'haar');%单尺度二维离散小波分解.分解小波函数haar figure,ims ...

  7. lua的string库

    lua支持的所有字符类 .      任意字符 %a   字母 %c 控制字符 %d 数字 %l         小写字母 %p  标点字符 %s 空白符 %u        大写字母 %w   字母 ...

  8. POCO系列之——延迟加载

    当我们进行查询的时候,哪些关系的数据将会被加载到内存呢?所有相关的对象都需要吗?在一些场合可能有意义,例如,当查询的实体仅仅拥有一个相关的子实体,但是,多数情况下,你可能只需要加载部分数据,或者你喜欢 ...

  9. jxls导出EXCEL模板

    http://jxls.sourceforge.net/ InputStream templateInput = null; InputStream in = null; OutputStream o ...

  10. Hihocoder 2月29日

      时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个日期,计算这两个日期之间有多少个2月29日(包括起始日期). 只有闰年有2月29日,满足以下一个条件的年份为闰年 ...