当前位置:  开发笔记 > 编程语言 > 正文

如何恢复本地删除的文件夹?

如何解决《如何恢复本地删除的文件夹?》经验,为你挑选了3个好方法。

在本地删除文件后跟svn update会恢复该文件的本地副本.但是,这似乎不适用于文件夹.有没有办法使它适用于文件夹?

编辑:这是控制台输出的样子:

C:\svn\Google Project Hosting\xulwin\xulrunnersamples>rmdir /S /Q treeview

C:\svn\Google Project Hosting\xulwin\xulrunnersamples>svn up
D    treeview
Updated to revision 50.

编辑2:我已经使用svn超过两年了,我之前从未遇到过这个错误.但我没有改变任何设置.我唯一能想到的是,我今天在外部硬盘驱动器上创建了一个带有Tortoise SVN的本地存储库来备份一些不相关的旧东西.但这不应该是问题的原因,因为行为发生在本地存储库的本地副本和Google Project Hosting的代码中.

EDIT3:WTF我突然无法重现这个bug.这一切都可以正常运作.但我没有改变任何事情.

EDIT4:在EDIT1中,文件似乎被标记为已删除,但它不是因为svn commit命令没有做任何事情.Tortoise检查修改是否也没有列出任何内容.

注意:当问题仍然存在时,完全递归更新确实还原了该文件夹.



1> Bryan Drewer..:

我今天用svn 1.5.6遇到了这个问题. svn up --force the_dir_path为我修好了.

要重新创建:

$ svn up
Updated to revision X.
$ rm -rf the_dir_path
$ svn up
D the_dir_path
Updated to revision X.
$ svn up
Updated to revision X.
$ svn up --force the_dir_path
A ....
A ....
Updated to revision X.


这是解决它的唯一答案.恢复,递归恢复等不起作用.谢谢!

2> tschaible..:

您可能希望使用svn revert命令,而不是通过删除项目然后更新以还原它们的过程.使用-R开关递归还原文件/目录.

恢复的svn帮助信息如下

revert: Restore pristine working copy file (undo most local edits).
usage: revert PATH...

  Note:  this subcommand does not require network access, and resolves
  any conflicted states.  However, it does not restore removed directories.

Valid options:
  --targets ARG            : pass contents of file ARG as additional args
  -R [--recursive]         : descend recursively, same as --depth=infinity
  --depth ARG              : limit operation by depth ARG ('empty', 'files',
                            'immediates', or 'infinity')
  -q [--quiet]             : print nothing, or only summary information
  --changelist ARG         : operate only on members of changelist ARG
                             [aliases: --cl]

Global options:
  --username ARG           : specify a username ARG
  --password ARG           : specify a password ARG
  --no-auth-cache          : do not cache authentication tokens
  --non-interactive        : do no interactive prompting
  --trust-server-cert      : accept unknown SSL server certificates without
                             prompting (but only with '--non-interactive')
  --config-dir ARG         : read user configuration files from directory ARG
  --config-option ARG      : set user configuration option in the format:
                                 FILE:SECTION:OPTION=[VALUE]
                             For example:
                                 servers:global:http-library=serf


还原不会重新创建已删除的文件夹
删除文件夹后跟svn更新是清理该文件夹中的垃圾/临时文件的一种方便方法.
@PeterAjtai是的,在答案中引用的手册中它明确指出"但是,它不会恢复已删除的目录"!我认为这个答案没有用.
这不回答"如何恢复本地删除的文件夹?"的问题.并且不应该标记为正确的答案.@Bryan Drewery回答了下面的正确答案.

3> knittl..:

使用svn revert (-R) foldername将其带回.您已使用它删除它,svn rm并且svn up不会为您重新创建它,因为它仍然标记为已删除

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有