首页/数据/备份与容灾速查/Git reflog 恢复误操作
本包目录(206 条)

Git reflog 恢复误操作

Git 里误 reset / rebase / 删分支后,reflog 记录 HEAD 的移动历史:找到目标提交即可恢复,是代码层误操作的常见救命手段。

备份与容灾速查数据更新于 2026-10-12

恢复流程

恢复流程
git reflog                         # 找到误操作前的提交(如 HEAD@{2})
git branch rescue HEAD@{2}          # 先建分支锁定现场,避免再被 gc
git log --oneline rescue | head
# 找回丢失的提交对象
git fsck --lost-found
机制reflog 记录本地 HEAD 移动,默认保留期约 90 天(可配置)
前提操作发生在本地仓库且对象未被 gc 清理
边界未提交的改动(未 add/commit)不在 reflog 覆盖范围
发现误操作后先别继续操作:多跑一条命令都可能改变 HEAD 或触发清理,增加恢复难度。

易错点

  • reflog 超期或已 gc:悬空对象被清理后无法找回
  • 只依赖 reflog 恢复代码:未推送的仓库损坏时仍需远端副本兜底

数据来源与参考

  • Git 官方文档(git reflog / git fsck / gc.reflogExpire)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌