故障排查 Pro Git · 7.6 / 7.10
| 命令 | 说明 |
|---|---|
git reflog | 查看 HEAD 移动记录 —— 误 reset / 误 rebase 的后悔药 |
git reset --hard HEAD@{2} | 回到 reflog 里第 2 条记录时的状态 |
git branch rescue <散列> | 为找回的提交建分支,防止再丢 |
git bisect start | 二分定位引入 Bug 的提交(配合 bad / good) |
git bisect reset | 结束二分,回到原分支 |
git fsck --lost-found | 查找悬空对象里的丢失提交 |
重点:只要提交过,
git reflog 里就有记录(默认保留 90 天),几乎不存在"彻底丢了"的提交。git bisect start git bisect bad # 当前版本有问题 git bisect good v1.0 # v1.0 没问题 → Git 自动切到中间提交 # 测试当前提交,重复 bad / good,几步内锁定元凶 git bisect reset