我想知道如果我在SVN仓库浏览器中右键单击文件,它会被永久删除吗?它是否可以恢复?
这个SVN FAQ中的问题/答案可能会引起你的兴趣:
如何完全删除仓库历史记录中的文件?
有些特殊情况下,您可能想要销毁某个文件或提交的所有证据。(也许某人意外地提交了一份机密文件。)这并不容易,因为Subversion被设计成绝不丢失信息。修订是不可变树,它们相互建立。从历史记录中删除一个修订版本将导致连锁反应,在所有后续修订版本中创建混乱,并可能使所有工作副本无效。
然而,该项目计划有一天实现一个
svnadmin obliterate
命令,可以完成永久删除信息的任务。(请参见问题516。)与此同时,您唯一的选择是
svnadmin dump
您的仓库,然后将转储文件通过svndumpfilter
(排除错误路径)传输到svnadmin load
命令中。
如果这么难,那么很少有机会能够轻松地从Tortoise SVN中完成...
(这也不是源代码控制的目标...)
通过仓库浏览器上下文菜单删除文件,基本上会创建一个新的全局版本,只有该文件被删除,因此在日志中显示为这样 - 您始终可以恢复到该版本以获取文件,或者您可以直接从存储库拉取它到您的工作副本。
不...删除文件(即使使用仓库浏览器)只会影响工作副本。如果您无法从过去恢复文件,那么它将是一个相当糟糕的版本控制系统。实际上,即使您拥有服务器的根访问权限,也很难修改已提交的修订中的文件。
我不小心从Repo浏览器中删除了一个顶级目录,唯一的恢复方式如下:
这很烦人,但至少工作和repo会重新同步。 "撤消此版本的更改"无法撤消存储库删除,它仅还原工作目录而不是撤消对存储库的删除。
右键不就是弹出一个菜单吗?而且使用 SVN 的话,你总是可以回滚的。