Svn Subversion:如何还原具有历史记录的文件

Svn Subversion:如何还原具有历史记录的文件,svn,tortoisesvn,Svn,Tortoisesvn,我的老板只是忽略了.vbp文件,显然在这个过程中从存储库中删除了其中一个。在向他解释了为什么他需要源代码管理中的这些文件之后,我现在的任务是把它们放回去 问题是,我认为他可能在告诉我之后又加了回去,因为现在当我尝试添加它时,它告诉我它已经存在了。但当我从驱动器中删除它并进行更新时,它不会恢复。我担心,如果我从存储库中删除它,然后添加我的,它将在他那端执行与现在发生在我身上的相同的操作 理想情况下,我想回到这场混乱开始之前的状态,但无法找到正确的方法。我知道我们不能回滚subversion中的修订

我的老板只是忽略了.vbp文件,显然在这个过程中从存储库中删除了其中一个。在向他解释了为什么他需要源代码管理中的这些文件之后,我现在的任务是把它们放回去

问题是,我认为他可能在告诉我之后又加了回去,因为现在当我尝试添加它时,它告诉我它已经存在了。但当我从驱动器中删除它并进行更新时,它不会恢复。我担心,如果我从存储库中删除它,然后添加我的,它将在他那端执行与现在发生在我身上的相同的操作

理想情况下,我想回到这场混乱开始之前的状态,但无法找到正确的方法。我知道我们不能回滚subversion中的修订,但如果可能的话,将它和它的历史一起放回那里还是很好的

编辑:对不起,忘了提到我用的是乌龟。我可以使用日志历史记录找到该文件,并且我可以签出修订版。。。但我不想签出所有的文件。我只想买一个。仍然在试图找出最好的方法来做这件事

我研究了使用责备,但我可能必须仔细阅读该选项,因为乍一看它对我来说没有直观意义。

用于在文件存在时查找


然后,当您拥有正确的修订名时,在该文件的路径上使用。

要恢复文件,只需恢复删除该文件的更改即可

你可能想从一个干净的结账台开始。也许是个好主意。或者,听起来您只需要在签出时运行
svn revert file.vbp
(您可能已经添加了它,但没有提交。
svn status
应该会告诉您发生了什么)

首先,使用
svnlog-v
查找删除它的修订版。然后,要撤销更改,请更改到文件所属的目录,并使用
svn merge-c-REVISIONhttp://server/path/file
。请注意,修订号为负数。最后,运行
svncommit
提交恢复


(注意:这不会丢失历史记录。删除它的提交仍将保留在历史记录中,只会有一个新的提交还原它。SVN应该实现它的相同文件,例如
SVN log

对不起。。。忘了给它贴上乌龟的标签。也许你的解决方案仍然是最好的,但我必须仔细研究一下原因。不管是哪种方式,只要尝试使用命令行svn来恢复这些文件,然后继续使用TortoiseSVN。祝你好运!:)我甚至不知道该怎么做:)不过如果我不知道如何用乌龟做的话,我可能会研究一下。谢谢。不幸的是,我忘了提到我使用的是OrtoiseSVN,从来没有运行过一个svn命令行。。。并不是说我反对学习,只是现在不反对:/@BrandonMoore:使用Ortoisesvn,显然更容易:你必须选择文件夹,显然,因为你不能选择文件。是的,我希望只选择文件,但我可能不得不这样做。谢谢。@BrandonMoore:您只选择了一个版本,所以假设它是单独删除的,它就是那个文件。如果在该修订版中进行了其他更改,则在合并后,右键单击其他文件并将其还原。然后提交你想要的一个文件。