
一句话承诺:3种最小救援路径+时序图,帮你从“删错分支”“误推到main”中快速回到安全状态。

场景 | 症状 | 最快动作 | 风险提醒 |
|---|---|---|---|
误删分支 | 本地分支不见了 | reflog找commit → 新建分支指向 | 注意HEAD移动记录 |
错推到main | main多出无关提交 | revert或reset+force | 与团队沟通避免覆盖 |
合并错乱 | PR混入杂项 | cherry-pick需要的提交 | 保留历史一致性 |
# 1) 找回误删分支的提交点
git reflog
# 找到你需要的提交哈希,例如:abc123
# 2) 基于提交点创建救援分支
git checkout -b rescue/fix abc123
# 3) 从救援分支cherry-pick你想保留的提交
git cherry-pick def456 ghi789
# 4) 将救援分支推送到远端
git push -u origin rescue/fix
# 5) 如果main已经被污染,回滚(推荐)
git revert <bad_commit1> <bad_commit2>
# 6) 如果必须重置(需谨慎)
git checkout main
git reset --hard abc123
git push -f origin main
下一篇:Docker 磁盘吃满了?镜像/容器清理的安全清单与一键脚本(含对比表)。