zoukankan      html  css  js  c++  java
  • linux svn恢复删除的文件夹和文件(转)

    我觉得在window下面,查找被删除的svn文件夹和文件是件比较麻烦的事,恢复就更麻烦了。有的时候,命令还是比鼠标要好用的。

    下面做一个例子来说明一下,删除和恢复的例子。

    [root@BlackGhost branch]# svn delete tank  //标记删除一个目录,不是真正删除  
    D         tank  
    [root@BlackGhost branch]# svn revert tank  //可以用svn revert dir 来恢复前面的操作  
    Reverted 'tank'  
    [root@BlackGhost branch]# svn commit tank -m "tank"  
    svn: Working copy '/home/zhangy/checkout/repos' locked  
    svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)  
    [root@BlackGhost branch]# svn cleanup   //如果出现锁定的情况,cleanup一下  
    [root@BlackGhost branch]# svn ci tank -m "tank"  
    Deleting       tank  
      
    Committed revision 21.  
    [root@BlackGhost branch]# svn revert tank   //提交删除后,用这个方法就不管用了  
    Skipped 'tank'  

    实际删除文件夹和删除文件的操作的方法有一点点不同

    1,删除文件夹后,要回到被删除文件夹的上一级目录

    cd 父目录
    [root@BlackGhost main]# svn log -v |grep -C 4 tank
    ------------------------------------------------------------------------
    r21 | zhangy | 2010-10-26 21:11:16 +0800 (Tue, 26 Oct 2010) | 1 line
    Changed paths:
    D /main/tank

    a
    ------------------------------------------------------------------------
    r20 | zhangy | 2010-10-26 21:10:59 +0800 (Tue, 26 Oct 2010) | 1 line
    Changed paths:
    M /main
    A /main/tank

    a
    ------------------------------------------------------------------------

    从上面我们可以看出,在21版本的时候被删除了,在20这个版本还在,我就可以将其恢复到20版本删除前最新的版本

    [root@BlackGhost main]# svn update -r 20 tank   //恢复删除文件夹
    A    tank
    Updated to revision 20.

    2,如果是删除文件后,是不要回到上一级目录,本目录就行

    [root@BlackGhost branch]# svn log -v |grep -C 4 test.php
    ------------------------------------------------------------------------
    r13 | zhangy | 2010-10-26 21:11:16 +0800 (Tue, 26 Oct 2010) | 1 line
    Changed paths:
    D /branch/test.php     //在13版的时候,被删除了。

    test
    ------------------------------------------------------------------------
    r12 | zhangy | 2010-10-26 21:10:59 +0800 (Tue, 26 Oct 2010) | 1 line
    Changed paths:
    M /branch
    A /branch/test.php

    test
    ------------------------------------------------------------------------

    从上面可以看出,12版本test.php是有的

    [root@BlackGhost branch]# svn update -r 12 test.php    //更新的时候,出现了以下问题
    Skipped 'test.php'
    At revision 12.
    Summary of conflicts:       //提示是有冲突的
    Skipped paths: 1
    [root@BlackGhost branch]# svn resolve --accept working test.php   //解决冲突
    Resolved conflicted state of 'test.php'
    [root@BlackGhost branch]# svn update -r 12 test.php     //恢复删除的文件
    A    test.php
    Updated to revision 12.

     



    转载请注明
    作者:海底苍鹰
    地址:http://blog.51yip.com/server/1073.html

  • 相关阅读:
    Oracle通过Rman的"copy datafile"转移数据文件后不要使用sqlplus来重命名文件位置和文件名
    Oracle使用errorstack跟踪客户端的ORA报错
    Oracle OEM 13C表空间报警延迟问题
    CH5 用神经网络解决线性问题
    CH4 简化神经网络模型
    CH3 初识 TensorFlow
    Python 语言和 TensorFlow 框架环境准备
    创建型模式之单例模式与工厂模式(一)
    Node.js Koa框架学习笔记
    国庆七天假 不如来学学Vue-Router
  • 原文地址:https://www.cnblogs.com/zl1991/p/7562119.html
Copyright © 2011-2022 走看看