git reflog 参考
git reflog 记录 HEAD 和分支引用的移动历史。提交看似丢失、reset 误操作、rebase 后想恢复时,reflog 经常是第一条救命线。
语法
git reflog
git reflog show <branch>
示例
查看 HEAD 记录:
git reflog
回到某个历史位置:
git reset --hard HEAD@{2}
基于旧位置创建恢复分支:
git switch -c recover-work HEAD@{2}
使用场景
- reset 后发现提交不见了。
- rebase 后想找回变基前状态。
- checkout、merge、pull 操作后想确认 HEAD 移动轨迹。
- 误删本地分支后找回提交。
常见错误
- 误以为 reflog 是远程备份;它主要是本地记录。
- 过了清理期限或执行垃圾回收后,旧对象可能无法恢复。
- 直接
reset --hard到某条 reflog 前没有确认工作区是否有未保存改动。
相关内容
相关内容
- git rebase 参考 git rebase Reference,整理变基、交互式 rebase、合并提交、rebase --continue、--abort、风险和常见错误。
- git remote 参考 git remote Reference,整理查看、添加、修改、删除远程仓库,origin、set-url、remote -v、remote show 和常见错...
- git reset 参考 git reset Reference,整理 --soft、--mixed、--hard、HEAD~1、撤销本地提交、取消暂存、风险和恢复建议。
- git revert 参考 git revert Reference,整理用新提交撤销旧提交、revert 普通提交、revert merge、适用场景和常见错误。
- git stash 参考 git stash Reference,整理临时保存改动、stash push、list、show、apply、pop、drop、include-untrack...