从Git reset中恢复-在Eclipse中很难

时间:2018-07-27 17:39:01

标签: eclipse git commit git-reset

我不小心对git回购做了一些操作,我不知道现在是否可以保存我的项目...

我做了很多修改。然后,我想删除我的上一次提交,以便我可以进行新的提交。我忘了做git stash。因此,当我运行git reset --hard [second-to-last commit]时,它会抹去我所做的一切。这很愚蠢,但是我能做些什么来挽救我最近的工作吗?

我正在使用Eclipse IDE。

3 个答案:

答案 0 :(得分:3)

git的简短答案,否。

无法恢复不是addstash的文件


通常,处理此类问题的最佳方法是依靠IDE

在Eclipse 中,您可以在此路径下查看

.metadata/.plugins/org.eclipse.core.resources/.history/

因此,您可以使用这些命令来查找最新更改,

cd .metadata/.plugins/org.eclipse.core.resources/.history/
ls -al * | grep "<today's date>" | grep "r\-\-" | sort -k 6

请注意,您必须将"<today's date>"替换为"Jul 27"

那么您可以使用

find . -name <filename>

请注意,您必须将"<filename>"替换为上一条命令中找到的"7098a672a2bc00111703c0e5cbee369d"

有关更多信息,请查看this

答案 1 :(得分:2)

不幸的是,git无法知道您没有提交或隐藏的文件内容。这意味着您无法使用git恢复更改。其他工具也许可以提供帮助。例如,IntelliJ具有“本地历史记录”功能,可跟踪所有保存的更改。也许您的编辑器有类似的内容?

答案 2 :(得分:2)

您在评论中提到您正在使用Eclipse-通常eclipse会保留您过去和一直在进行的更改的本地历史记录。在这方面,以下步骤可能会有所帮助:

从本地历史记录恢复已删除的资源 要以本地历史记录的状态恢复已删除的Workbench资源:

在其中一个导航视图中,选择要将本地历史记录状态还原到的文件夹或项目。

从资源的弹出菜单中,选择“从本地历史记录还原...”。“从本地历史记录还原”对话框将打开,显示先前包含在所选文件夹或项目中的所有文件及其所有子文件夹。

检查要还原的文件

如果您不想仅还原文件的最后状态,则可以从对话框右侧的“本地历史记录”列表中选择文件的其他任何状态。对话框的底部窗格显示状态的内容。

如果已处理完所有文件,请单击“还原”。

提示:可以使用命令链接“常规”>“工作空间”>“本地”来配置“工作台”首选项,以指定要保留文件的天数,或者要保留每个文件多少个条目,或者要保留的文件的最大文件大小。历史记录首选项页面。

这也可以在以下链接中找到:https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-87b.htm