查看与恢复 Git 引用历史
git reflog 记录本地 HEAD 和分支引用的移动历史,是误 reset、误 rebase、误删分支后的第一道找回手段。它只在本地存在,不会随 push 共享。
git reflog
git reflog show main
git reflog show --date=iso
git reset --hard HEAD@{3}
git checkout HEAD@{5}
git branch rescue HEAD@{4}
git reflog expire --expire=now --all
git gc --prune=now
git gc --prune=now 会清理不可达对象,可能让丢失的提交彻底无法恢复。HEAD@{n} 的 n 是 reflog 序号,不是提交距离;时间越久序号越大。git reflog 找到提交,再 git branch 恢复。git — 版本控制git-reset — 移动分支指针git-bisect — 二分定位