git:忘记保存本地更改,但重置为过去的提交



我在本地工作目录中做了一些更改,我忘记了保存/提交它们,但我命令git reset HEAD~1返回到以前的提交。如何恢复本地工作?

如果只运行git reset HEAD~1(不使用--hard(,则git不会更改为磁盘上文件的内容。您可以检查IDE中的文件是否仍然包含reset命令之前所做的修改。

唯一改变的是:

  • 活动提交:您可以通过检查git reflog返回到以前的状态,查看在git reset HEAD~1操作之前提交的<sha>是什么,并运行git reset <sha>

  • 你的暂存文件:如果你有暂存文件的话,git reset已经取消了暂存,并且没有简单的方法可以恢复它们的状态。


如果你拨打了git reset --hard,那么不幸的是@Code Apprentice的评论适用:git已经恢复了磁盘上的内容,但没有先保存。检查IDE中是否有文件的历史记录,或者使用操作系统的文件恢复工具。

最新更新