如何取回我的SVN客户端删除的文件?

时间:2008-11-20 16:19:28

标签: visual-studio svn visualsvn

我刚从SVN更新,我的一个文件现在已经消失了...当然它没有提交,因为我知道我需要先更新+ merge。我想也许那个人重命名了这个文件,这意味着我的SVN客户端删除了我的文件。

我正在使用VC ++ 2008& Visual SVN。

帮助......以及参考如何避免这种事情?在提交之前你不应该更新吗?

4 个答案:

答案 0 :(得分:1)

如果您在VS中查找该文件,则该文件可能仍存在于您的目录中,但在项目中不再引用(因为VS只会向您显示项目中的文件)。如果文件已重命名,这可能是您无法再在Visual Studio中找到它的原因。我会检查文件以前存在的实际目录。

如果不存在,您可以通过单击包含目录并还原到包含该文件的先前修订(文件删除是对目录的操作)从存储库中检索旧文件。

如果有修改,则不应删除该文件的本地副本。这种类型的东西很烦人,但希望不经常发生(你多久重命名一次文件?)。当然,这也是您在提交之前应该更新的原因。在这种情况下,您需要手动将对旧文件所做的更改合并到新文件中,并确保它们仍然可以编译。

答案 1 :(得分:0)

如果您更改了文件,SVN应备份该文件。检查是否有以“。”开头的文件。并且在您更改的文件应该在的目录中的名称中的某处进行修订。

如果不是这种情况,请检查Visual SVN中的设置。或者Visual SVN可能不这样做。请改为TortoiseSVN

答案 2 :(得分:0)

这几周前发生在我身上。当我做“更新”而不是“提交”时,我累了。我的工作已经不见了,我可以用Undelete tool恢复其中一些。

答案 3 :(得分:-3)

答案显示了如何恢复文件,但更重要的是你的问题的第二部分:如何避免这些事情?

为此您可以锁定文件。这意味着您希望在此文件上不受干扰地工作。 SVN不允许任何其他用户提交锁定文件。这也包括删除。