zoukankan      html  css  js  c++  java
  • svn revert

    本地开发环境出现一个问题,用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。

  • 相关阅读:
    使用python三方库xlrd解析excel数据
    testng之listener
    使用Junit实现批量运行
    gojs绘流程图
    sqlserver
    Android学习笔记之 android:collapseColumns ,android:shrinkColumns 和stretchColumns
    myBatis oracle 与mysql自增问题
    Oracle总结
    Oracle 树操作(select…start with…connect by…prior)
    Oracle 获取当前日期及日期格式
  • 原文地址:https://www.cnblogs.com/helww/p/3384352.html
Copyright © 2011-2022 走看看