SVN 文件删除及恢复

在TortoiseSVN管理的项目中删除文件的方法:

 
1. 在客户端按delete删除(OS中删除,不通过SVN)
 
        ● 未提交之前一旦Update则被删除的文件立刻回来。
        ● 在revert反删除工具中不显示(其实SVN并不知道删除了这个文件)。
        ● 在此状态下提交会提示该文件的状态为missing。        
                ○ 如果勾选missing的文件提交,则删除操作被提交到容器,容器中该文件也被删除。
                   这时候当然Update也不会回来了,只能从OS中恢复删除。
                ○ 恢复删除后再次提交,则追加该文件到容器。
                ○ 如果不勾选missing文件提交,则容器中不会删除该文件。
        ● 
 
2. 在客户端右键点击文件,通过SVN的Delete删除
 
        ● 未提交之前即使Update也不会回来(SVN已经知道客户端删除了该文件)
 
        ● 打开revert工具,其中显示该文件的状态为deleted。勾选该文件点击OK则该文件即被恢复。
 
        ● 在此状态下提交会提示该文件的状态为deleted。
                ○ 若勾选deleted的文件后提交,则删除操作提交到容器,容器中该文件也被删除。
                   这时候revert工具中也不再显示该文件,OS中也无法恢复删除。
                ○ 若不勾选deleted文件提交,则容器无变化。              
                ○ 提交删除后要恢复该文件:
                    1. 在show log中找到删除前的版本,右击该版本,选择revert to this version。假如删除前版本为10,
                        容器中最新版本为15,则要将客户端拷贝恢复到10,删除掉的文件就会被追加回来。
                        而此时容器中却还保持着版本15。所以客户端显示该文件的图标为 “+” ,即相对于容器多出来的文件。
                        如果要将容器也恢复到删除前的版本,可以提交一下,然后update,之后会发现容器中也恢复了该文件,
                        同时版本变为16。
 
                    2. 通过 update to version 更新到删除前的版本(同上假设为10)。和上例的区别是多出来的文件不会提交
                        到最新版本。 而一旦再次update最新版本(版本15),该文件就再次被删除。
 
                    3. 在show log中找到删除前的版本,右击该版本,选择check out,重新签出该版本。与2类似。
 
 
3. 在repo-browser中右击该文件选择删除
 
        ● 这会直接从容器中删除该文件。删除后容器版本立即增加1。
        ● 客户端update之后会同步删除该文件。
        ● 可在show log工具中恢复,方法同上。

SVN 文件删除及恢复的更多相关文章

  1. 不小心把服务器上的/usr/lib下的所有文件删除,恢复办法

    手贱,使用root用户,rm -rf 多了一个"*"……导致了万分惊恐的悲剧,/usr/lib下的所有文件被删除…… 修复办法: linux系统是基于文件的,所以只要能拷贝到和原来 ...

  2. 如何批量删除.svn文件

    参考资料:https://www.cnblogs.com/kisf/articles/4760367.html 当项目不需要SVN标志的时候,我们一般怎么办哪??可能很多人设置Windows显示隐藏文 ...

  3. shell命令:给当前目录里一个文件压缩一份不包含.svn文件的zip包

    filepath=$(cd ")"; pwd) packagePath="$filepath"/package zipPath="$filepath& ...

  4. Windows下删除.svn文件夹的最简易方法

    建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为reg),内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCA ...

  5. MAC系统下,删除.svn文件

    MAC系统下,.svn文件是隐藏的. 如果项目是非export导出的,那么项目中会有很多的.svn文件. 如果项目的体积非常庞大,我们如何快速的批量删除.svn文件呢?下面是操作方法: 打开终端,cd ...

  6. svn删除所有.svn文件

    svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \;

  7. 删除svn文件的批处理文件

    @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN文件,请稍候...... @rem 循环删除当前目录及子目录下所有的SVN ...

  8. mac下批量删除.svn文件

    mac下.svn是隐藏文件,而且即使我们调成可见的,一个一个删也很麻烦.今天正好同事问起来这个命令,于是想可能有些人也需要,于是还是放到博客里吧 命令比较简单,其实就是一条linux命令,打开终端,首 ...

  9. [转载]删除所有的.svn文件夹

    Windows 下,在DOS窗口中运行如下命令 dos 代码 for /r <你项目的路径> %i in (.svn) do rd /s /q %i Linux 下,可以先运行 显示出当前 ...

随机推荐

  1. 设备VMnet0上的网络桥接当前未在运行解决办法

    问题: 今天把自己的VM从C盘挪到了D盘,然后再open所有VM都会显示网卡无法桥接了 “vmware 没有未桥接的主机网络适配器” 解决办法: 1.关闭所有VM 2.打开 编辑-虚拟网络编辑器,会发 ...

  2. WebOS系列-了解Wekbit【邓侃】

    注:[转载请注明文章来源.保持原样] 出处:http://www.cnblogs.com/jyli/archive/2010/02/02/1660634.html  作者:李嘉昱 这是Kan老大的We ...

  3. php 上传csv文件

    php fgetcsv()函数 定义和用法 fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段. 与 fgets() 类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式 ...

  4. 【洛谷 P4289】[HAOI2008]移动玩具(搜索)

    其实这题可以不用状压.. 提供一种新思路. 我们在读入目标棋盘的时候,把当前位置的数和当前棋盘进行比较,如果不一样,如果当前是\(1\),目标是\(0\),那么我们就把当前位置加入\(needmove ...

  5. Java内存区域与内存异常

    参考:深入理解Java虚拟机 周志明 方法区 虚拟机战 本地方法栈 堆 程序计数器 其他 设置 方法区 线程共享,加载类信息.常量.静态变量.JIT后的代码,别名Non-Heap 对于HotSpot, ...

  6. shelve,xml,re模块

    一.shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve ...

  7. Linux驱动 读写文件【转】

    转自:http://blog.csdn.net/h_armony/article/details/7546624 在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个 ...

  8. 使用CloudSight API进行图像识别的Python脚本

    # -*- coding: utf-8 -*- # @Time : 2018/03/20 17:02 # @Author : cxa # @File : sss.py # @Software: PyC ...

  9. 【 Nginx 】proxy_cache 模块的使用记录

    部署环境:nginx + tomcat  同一台服务器. 通过nginx反向代理tomcat. 配置如下: user www www; worker_processes auto; error_log ...

  10. Navigator与UserAgent笔记

    关于Navigator与UserAgent笔记 1.Navigator笔记 Navigator对象主要是包含有关客户端浏览器的一些信息,Navigator对象是由JavaScript runtime ...