我不小心对我的git repo做了一些事情,我不知道我是否可以保存我的项目在这一点上。我做了很多改变。然后我想删除我的最后一次提交,这样我就可以进行这个新的提交。我忘了做git stash了。所以当我运行git reset --hard [second-to-last commit]时,它删除了我所做的一切。这是愚蠢的,但我能做些什么来挽救我最近的工作吗?我使用Eclipse IDE。
git reset --hard [second-to-last commit]
jgwigjjp1#
简单的回答是,不。这是不可能的恢复文件,你没有add或stash一般来说,处理这类问题的最佳方法是依赖IDE。
add
stash
在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"。那你就可以用
"<today's date>"
"Jul 27"
find . -name <filename>
型请注意,您必须将"<filename>"替换为类似"7098a672a2bc00111703c0e5cbee369d"的命令。更多信息请查看this。
"<filename>"
"7098a672a2bc00111703c0e5cbee369d"
xienkqul2#
不幸的是,git无法知道你没有提交或隐藏的文件内容。这意味着您无法使用git恢复更改。其他工具可能会有所帮助。例如,IntelliJ有一个“本地历史记录”功能,可以跟踪所有保存的更改。也许你的编辑也有类似的东西。
htzpubme3#
您在评论中提到您使用的是Eclipse --通常Eclipse会保留您曾经和一直在进行的更改的本地历史。在这方面,以下步骤可能有所帮助:从本地历史记录恢复已删除的资源要从本地历史记录恢复具有状态的已删除Workbench资源,请执行以下操作:在其中一个导航视图中,选择要将本地历史记录状态恢复到其中的文件夹或项目。从资源的弹出菜单中,选择“从本地历史记录还原...”。“从本地历史记录还原”对话框打开,显示先前包含在选定文件夹或项目及其所有子文件夹中的所有文件。检查要还原的文件如果您不想只恢复文件的最后一个状态,则可以从对话框右侧的“本地历史记录”列表中选择文件的任何其他状态。对话框的底部窗格显示状态的内容。如果已完成所有文件的处理,请单击“还原”。提示:您可以配置Workbench首选项,以指定要保留文件的天数,或每个文件要保留的条目数,或要使用命令链接“常规”>“工作区”>“本地历史记录”首选项页面保留的文件的最大文件大小。这也可以在这个链接中找到:https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-87b.htm
ncgqoxb04#
使用下面的命令对我有效,
git reset --hard ORIG_HEAD
字符串请查看this答案以了解更多详情。
4条答案
按热度按时间jgwigjjp1#
简单的回答是,不。
这是不可能的恢复文件,你没有
add
或stash
一般来说,处理这类问题的最佳方法是依赖IDE。
在Eclipse中,您可以查看以下路径
字符串
所以,你可以用这些命令来查找最近的变化,
型
请注意,您必须将
"<today's date>"
替换为"Jul 27"
。那你就可以用
型
请注意,您必须将
"<filename>"
替换为类似"7098a672a2bc00111703c0e5cbee369d"
的命令。更多信息请查看this。
xienkqul2#
不幸的是,git无法知道你没有提交或隐藏的文件内容。这意味着您无法使用git恢复更改。其他工具可能会有所帮助。例如,IntelliJ有一个“本地历史记录”功能,可以跟踪所有保存的更改。也许你的编辑也有类似的东西。
htzpubme3#
您在评论中提到您使用的是Eclipse --通常Eclipse会保留您曾经和一直在进行的更改的本地历史。在这方面,以下步骤可能有所帮助:
从本地历史记录恢复已删除的资源要从本地历史记录恢复具有状态的已删除Workbench资源,请执行以下操作:
在其中一个导航视图中,选择要将本地历史记录状态恢复到其中的文件夹或项目。
从资源的弹出菜单中,选择“从本地历史记录还原...”。“从本地历史记录还原”对话框打开,显示先前包含在选定文件夹或项目及其所有子文件夹中的所有文件。
检查要还原的文件
如果您不想只恢复文件的最后一个状态,则可以从对话框右侧的“本地历史记录”列表中选择文件的任何其他状态。对话框的底部窗格显示状态的内容。
如果已完成所有文件的处理,请单击“还原”。
提示:您可以配置Workbench首选项,以指定要保留文件的天数,或每个文件要保留的条目数,或要使用命令链接“常规”>“工作区”>“本地历史记录”首选项页面保留的文件的最大文件大小。
这也可以在这个链接中找到:https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-87b.htm
ncgqoxb04#
使用下面的命令对我有效,
字符串
请查看this答案以了解更多详情。