Subversion:如何恢复具有历史记录的文件

时间:2011-12-02 22:56:54

标签: svn tortoisesvn

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

问题是我认为他可能会在他告诉我之后将其添加回去,因为现在当我尝试添加它时,它告诉我它已经存在了。但是当我从驱动器中删除它并进行更新时,它无法恢复。我担心,如果我将它从存储库中删除然后添加我的,那么他现在就会发生同样的事情。现在正在发生在我身上。

理想情况下,我想回到此混乱开始之前的那些东西,但无法找到正确的方法。我知道我们不能在颠覆中回滚修订版,但如果可能的话,用它的历史记录恢复它仍然会很好。

编辑:对不起,忘了提我正在使用TortoiseSVN。我可以使用日志历史找到该文件,我可以查看修订版...但我不想检查所有文件。我只想得到一个。仍然试图找出最好的方法......

我看着使用责备,但我可能不得不阅读这个选项,因为乍一看它对我来说并不直观。

2 个答案:

答案 0 :(得分:1)

使用svn blame查找文件的存在时间。

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

答案 1 :(得分:1)

要恢复文件,您只需要撤消删除它的更改。

您可能希望从干净的结帐开始。可能是个好主意。或者,听起来你只需要在结帐时运行svn revert file.vbp(你可能已经添加了它,但没有进行评估。svn status应该告诉你发生了什么。)

首先,找到使用svn log -v删除它的修订版。然后,要退出更改,请切换到该文件所属的目录并使用svn merge -c -REVISION http://server/path/file。请注意,修订号为否定。最后,运行svn commit以提交恢复。

(注意:这不会丢失历史记录。删除它的提交仍然在历史记录中,只会有一个新的提交恢复它.SVN应该为svn log之类的东西实现相同的文件。 )

相关问题