Reference Git reference

git reflog 参考

git reflog 记录 HEAD 和分支引用的移动历史。提交看似丢失、reset 误操作、rebase 后想恢复时,reflog 经常是第一条救命线。

语法

bash
git reflog
git reflog show <branch>

示例

查看 HEAD 记录:

bash
git reflog

回到某个历史位置:

bash
git reset --hard HEAD@{2}

基于旧位置创建恢复分支:

bash
git switch -c recover-work HEAD@{2}

使用场景

  • reset 后发现提交不见了。
  • rebase 后想找回变基前状态。
  • checkout、merge、pull 操作后想确认 HEAD 移动轨迹。
  • 误删本地分支后找回提交。

常见错误

  • 误以为 reflog 是远程备份;它主要是本地记录。
  • 过了清理期限或执行垃圾回收后,旧对象可能无法恢复。
  • 直接 reset --hard 到某条 reflog 前没有确认工作区是否有未保存改动。

相关内容