You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未执行推送操作,如何恢复昨日的Git状态?

恢复被git reset --hard origin/master删除的本地未推送内容

按以下步骤尝试恢复,优先级从高到低:

  • 用Git查找丢失的提交/对象
    Git不会立刻彻底清理未被引用的对象,哪怕你重启过电脑。运行这个命令:

    git fsck --lost-found
    

    执行后,Git会在.git/lost-found/commits和.git/lost-found/other里生成丢失的提交文件。你可以逐个用git show <提交哈希值>查看内容,找到你昨晚的状态后,用git reset --hard <提交哈希值>恢复。

  • 检查VS Code的本地文件历史
    VS Code默认会保存文件的本地修改快照,哪怕你关过编辑器。打开VS Code后,右键点击原目录位置,选择**「本地历史记录」→「显示历史记录」**,里面可能有你昨晚的修改版本,直接恢复即可。

  • 查看系统回收站或备份
    Windows用户检查回收站,Mac用户看废纸篓,说不定被删除的目录还在里面。如果开启了系统备份(比如Mac的Time Machine、Windows的文件历史),也可以从备份里恢复对应目录。

  • 检查Git stash记录
    如果你之前用过git stash暂存过修改,运行:

    git stash list
    

    要是有记录,用git stash apply <stash名称>就能恢复暂存的内容。

⚠️ 注意:如果以上方法都没用,且没有其他备份,那数据大概率找不回来了——因为未推送的本地提交在git reset --hard后,没有分支、标签或stash指向它,要是系统自动执行了git gc清理,这些对象就会被彻底删除。

内容的提问来源于stack exchange,提问作者user3541032

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 04:45:48