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

误执行git reset --hard origin/master后,如何恢复Next.js应用?

恢复执行git reset --hard origin/master后的内容

1. 找回本地已提交但未推送的更改

执行以下命令查看Git的操作日志(记录了所有HEAD的变更历史):

git reflog

你会看到类似这样的输出(示例):

abc1234 HEAD@{0}: reset --hard origin/master: updating HEAD
def5678 HEAD@{1}: commit: 新增首页组件优化
ghi9012 HEAD@{2}: commit: 修复API请求bug

找到执行reset --hard之前的最后一个commit哈希(比如示例中的def5678),然后执行:

git reset --hard def5678

即可恢复到重置前的本地提交状态。

2. 找回未提交的本地修改

如果重置前有未提交的代码改动,git reflog无法直接记录这些内容,需要通过Git的文件系统检查工具找回:
执行以下命令查找丢失的对象:

git fsck --lost-found

命令会在.git/lost-found/other目录下生成对应丢失内容的文件,你可以查看这些文件内容来定位需要恢复的代码:

cat .git/lost-found/other/<文件名>

将需要的内容复制回项目对应文件即可。

注意事项

  • 若重置后又进行了新的提交,需确认选择的历史节点是正确的重置前状态。
  • 未提交的修改未被Git暂存或提交,找回成功率依赖Git垃圾回收机制,建议尽快操作,避免临时对象被清理。

内容的提问来源于stack exchange,提问作者Captai-N

相关产品推荐
方舟 Agent Plan

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

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