请注意:这是一个关于Eclipse 插件 Subversive的问题,而不是关于 Subversion 本身的问题。请不要将标题更改为“颠覆”。
所以我删除了一个我真的不应该拥有的文件。
我已经找到了在 Eclipse/Subversive 之外恢复文件的各种方法,但我想知道是否有使用 Subversive 工具恢复文件的最佳/最容易使用/历史恢复方式。
请注意:这是一个关于Eclipse 插件 Subversive的问题,而不是关于 Subversion 本身的问题。请不要将标题更改为“颠覆”。
所以我删除了一个我真的不应该拥有的文件。
我已经找到了在 Eclipse/Subversive 之外恢复文件的各种方法,但我想知道是否有使用 Subversive 工具恢复文件的最佳/最容易使用/历史恢复方式。
如果您已经提交了删除,那么现在是时候回滚到早期版本了。在 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
您可以切换到该文件所在的修订版。编辑/复制此文件并切换回 head revison 并在此处提交。
您还可以合并两个修订之间的更改 - 头文件和最后一个修订文件存在于存储库中,并将更改应用于您的工作副本。
只需在文件夹上“显示历史记录”,文件就存在于其中。然后单击历史记录并找到丢失的文件。
我猜你希望不求助于命令行,但如果它作为最后的手段有用,请参阅这个问题以了解如何从命令行执行此操作: 在颠覆中取消删除文件的简单方法是什么?
更简单:尝试提交,Eclipse 将显示包含更改文件的对话框,单击要删除的文件,右键单击并选择“还原”。
我遇到了类似的问题,我删除了一组与几个月后想要恢复的功能相关的文件。
在我的案例中,最直接的解决方案是在一个单独的目录中签出整个项目,就像在删除文件之前一样。
要从 Eclipse Repository View 执行此操作,请转到您的项目,右键单击“Check Out As...”,在模式窗口中写入目标文件夹,选择已删除文件存在的过去的合适日期(奇怪,我的插件不提供选择给定版本的可能性..) 并签出。
现在您可以轻松搜索、查找和复制粘贴要恢复的文件。