• 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

  • 相关阅读:
    vue app项目 第一天 基本架构和路由配置
    uni-app真机调试报错request:fail abort解决方法
    C#中的虚函数virtual
    ASP.NET Core中返回 json 数据首字母大小写问题
    ASP.NET Core中使用Cache缓存
    ASP.NET Core WebApi使用ActionFilterAttribute过滤器
    ASP.NET Core WebApi使用JWT认证
    微信小程序自动识别收货地址
    开发常用网站
    微信小程序自定义导航栏组件
  • 原文地址:https://www.cnblogs.com/zl1991/p/7562119.html
Copyright © 2020-2023  润新知