有人能解释一下Eclipse的本地历史是如何工作的吗?
我在一个项目中不小心覆盖了一个文件,但需要恢复到以前的版本。 有没有可能Eclipse在某个地方缓存了这个旧文件呢?
有人能解释一下Eclipse的本地历史是如何工作的吗?
我在一个项目中不小心覆盖了一个文件,但需要恢复到以前的版本。 有没有可能Eclipse在某个地方缓存了这个旧文件呢?
.metadata/.plugins/org.eclipse.core.resources/.history/
在eclipse中,尝试右键单击文件,选择 Replace With -> Local History。
如果有历史记录可用,将显示一个编辑时间列表。
但更重要的是,正如其他答案指出的那样,请务必将您的文件放入版本控制中!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默认设置是什么,但是如果您迅速采取行动,有很大的机会恢复您的文件。