【发布时间】:2010-11-01 11:18:16
【问题描述】:
谁能解释一下 Eclipse 的本地历史是如何工作的?
我不小心覆盖了项目中的文件,但需要恢复到早期版本。 Eclipse 是否有可能将旧文件缓存在某处?
【问题讨论】:
标签: eclipse flexbuilder history local
谁能解释一下 Eclipse 的本地历史是如何工作的?
我不小心覆盖了项目中的文件,但需要恢复到早期版本。 Eclipse 是否有可能将旧文件缓存在某处?
【问题讨论】:
标签: eclipse flexbuilder history local
完成CurtainDog的回答:来自eclipse FAQ
每次在 Eclipse 中修改文件时,旧内容的副本都会保存在本地历史记录中。您可以随时将文件与历史记录中的任何旧版本进行比较或替换。
虽然这不能替代真正的代码存储库,但它可以在您意外更改或删除文件时为您提供帮助。
本地历史记录还有一个并非真正设计用于的优势:当您的工作区出现灾难性问题或遇到损坏工作区文件的磁盘错误时,历史记录还可以帮助您。
万不得已,您可以手动浏览本地历史文件夹以查找丢失文件的副本,这有点像使用 Google 的缓存浏览不再存在的网页。每个文件修订都存储在一个单独的文件中,在历史文件夹中具有随机文件名。工作空间内历史文件夹的路径是
.metadata/.plugins/org.eclipse.core.resources/.history/
您可以使用操作系统的搜索工具来查找您要查找的文件。
注意,如果您需要将本地历史记录导入 新 工作区,则两者都需要:
在该新工作区中拥有实用的本地历史记录。
【讨论】:
尝试在eclipse中右键文件,选择替换为->本地历史。
如果有可用的历史记录,它将显示为编辑时间列表。
但更重要的是,正如其他答案中所指出的,请务必将您的文件置于版本控制中! SVN 很容易设置(你不需要服务器;它可以只使用文件系统);即使您不与他人分享,也可以使用它。
提示:每当您听到自己说“是!”时,请检查您的所有代码。 10 分钟后,你会说“我是怎么搞砸的?”
【讨论】:
如果由于意外删除或 svn/cvs 覆盖而丢失了完整的包结构,请选择项目> 右键单击> 从本地历史记录恢复 => 选择文件。
【讨论】:
VonC 的答案包含查找代码备份位置所需的所有信息。我只想补充一点,如果您使用的是 Mac 或 Linux,您可以执行以下操作:
$ cd [WORKSPACE]/.metadata/.plugins/org.eclipse.core.resources/.history/
$ grep -rl "class Foo" . | xargs ls -lt
这将找到包含特定字符串(即“class Foo”)的文件的所有版本,并按日期/时间对它们进行排序以轻松找到最新版本。
【讨论】:
打开 CVS 视图,您应该会看到一个本地历史过滤器。然后,您应该能够右键单击正确的版本并获取内容或进行手动比较和合并。我不确定 Eclipse 的默认设置是为了保留本地历史记录,但如果你迅速采取行动,你很有可能能够取回你的东西。
【讨论】: