请注意:这是关于 Eclipse插件Subversive 的问题,而不是关于Subversion本身的问题。请不要将标题更改为“Subversion”。
所以我删除了一个我真的不应该拥有的文件。
我发现了在Eclipse / Subversive之外恢复文件的各种方法,但我想知道是否有最好/最易于使用/恢复历史记录的方法来使用Subversive工具恢复文件。
答案 0 :(得分:17)
答案 1 :(得分:4)
如果您已经提交了删除,那么现在是时候回滚到早期版本了。在Subversion中,您可以使用“svn merge”执行此操作,您可以将当前版本中的“向后”合并到之前的版本。
说你这样做了:
$ svn rm file.txt
$ svn ci -m "don't need that file"
Committed revision 1325.
现在你要撤消这个并恢复旧版本1324,即删除之前的状态(点是'当前目录'):
$ svn merge -r1325:1324 .
如果你不确定你可以先干运行,那么svn会打印命令的输出,但实际上并没有做任何事情:
$ svn --dry-run merge -r1325:1324 .
结果应该表明正在添加文件(再次):
A file.txt
答案 2 :(得分:2)
您可以切换到此文件存在的版本。编辑/复制此文件并切换回头部修改并在此处提交。
此外,您可以合并两个修订之间的更改 - 存储库中存在头部和最后一个修订文件,并将更改应用于您的工作副本。
答案 3 :(得分:2)
在文件夹上只显示“显示历史记录”,文件已存在。然后单击历史记录并找到丢失的文件。
答案 4 :(得分:0)
我想您希望不要求助于命令行,但如果它作为最后的手段有用,请参阅此问题以了解如何从命令行执行此操作:What's a simple way to undelete a file in subversion?
答案 5 :(得分:0)
更简单:尝试提交,Eclipse将显示包含已更改文件的对话框,使用右键单击要删除的对话框并选择“还原”。
答案 6 :(得分:0)
我有一个类似的问题,我删除了一组与一个功能相关的文件,几个月后我想要恢复。
在我的案例中,最直接的解决方案是在一个单独的目录中检查整个项目,就像删除文件之前一样。
要从Eclipse Repository View执行此操作,请转到您的项目,右键单击" Check Out As ...",在模态窗口中写入目标文件夹,选择合适的过去日期已删除的文件存在(很奇怪,我的插件不提供选择给定修订的可能性..)并检查。
现在,您可以轻松搜索,查找和复制粘贴要恢复的文件。