18

请注意:这是一个关于Eclipse 插件 Subversive的问题,而不是关于 Subversion 本身的问题。请不要将标题更改为“颠覆”。

所以我删除了一个我真的不应该拥有的文件。

我已经找到了在 Eclipse/Subversive 之外恢复文件的各种方法,但我想知道是否有使用 Subversive 工具恢复文件的最佳/最容易使用/历史恢复方式。

4

7 回答 7

17
  1. 选择项目中包含已删除文件的文件夹。
  2. 右键单击,选择团队 > 合并...
  3. URL选项卡上,将URL设置为同一文件夹的服务器 URL。
  4. Revisions中,选择Revisions并输入包含删除的范围,例如 1000-1001,或使用浏览按钮选择它们。
  5. Revisions中,启用反向合并
  6. 单击预览并检查它是否显示您计划恢复的文件的已添加条目。
  7. 单击OK - Eclipse在Synchronize视图中切换到SVN Merge 。
  8. 同步视图中,右键单击所需的文件并选择接受
  9. Synchronize视图中,使用Synchronize SVN图标从SVN Merge切换到SVN,您可以在其中将恢复的文件视为传出更改。
于 2009-09-01T15:10:11.683 回答
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
于 2009-01-30T23:19:04.890 回答
2

您可以切换到该文件所在的修订版。编辑/复制此文件并切换回 head revison 并在此处提交。

您还可以合并两个修订之间的更改 - 头文件和最后一个修订文件存在于存储库中,并将更改应用于您的工作副本。

于 2009-01-30T22:54:01.260 回答
2

只需在文件夹上“显示历史记录”,文件就存在于其中。然后单击历史记录并找到丢失的文件。

于 2016-01-14T09:00:56.313 回答
0

我猜你希望不求助于命令行,但如果它作为最后的手段有用,请参阅这个问题以了解如何从命令行执行此操作: 在颠覆中取消删除文件的简单方法是什么?

于 2009-01-30T23:03:46.107 回答
0

更简单:尝试提交,Eclipse 将显示包含更改文件的对话框,单击要删除的文件,右键单击并选择“还原”。

于 2016-12-19T17:37:10.407 回答
0

我遇到了类似的问题,我删除了一组与几个月后想要恢复的功能相关的文件。

在我的案例中,最直接的解决方案是在一个单独的目录中签出整个项目,就像在删除文件之前一样

要从 Eclipse Repository View 执行此操作,请转到您的项目,右键单击“Check Out As...”,在模式窗口中写入目标文件夹,选择已删除文件存在的过去的合适日期(奇怪,我的插件不提供选择给定版本的可能性..) 并签出。

现在您可以轻松搜索、查找和复制粘贴要恢复的文件。

于 2018-02-10T15:55:47.103 回答