我刚刚错误地执行了git reset --hard
。我所有的文件都丢了。我该如何恢复它们?我在这里写了很多新文件。如果我不能恢复它们,那么我会很痛苦。
当我使用git reflog
命令时,它显示:
e1074bb HEAD@{0}: checkout: moving from master to workbranch
e1074bb HEAD@{1}: clone: from https://gitee.com/yujie-cui/gem5.git
为什么它不记录我的重置操作?
我现在能做什么?
我刚刚错误地执行了git重置。我所有的文件都丢了。我该如何恢复它们?我在这里写了很多新文件。如果我不能恢复它们,那么我会很痛苦。
你用Git做的一些潜在的破坏性事情会让你有机会首先改变主意。其他人只是这么做;Git假设你知道这是危险的,只是服从。reset --hard
就是其中之一。
reset --hard
将您的工作树和索引返回到HEAD提交的确切状态,如果您有任何从未提交的本地更改(新文件、编辑等(,这些更改将完全消失。如果你做了一些其他类型的备份,比如Mac上的Time Machine,也许它们就在那里。或者,正如你在评论中所说,也许你正在一个保存单独历史记录的IDE中工作。但这不是Git的权限。
这里的教训是:总是在做任何事情之前添加并提交。Git一直为您保留的唯一东西就是提交。