事故现场
周五下午4:58,距离下班还有2分钟。我信心满满地执行了一条"简单"的命令:
git push origin main --force
然后整个监控面板变成了红色。
发生了什么
这条命令的本意是把本地的几个配置修复推上去。但我忘了本地仓库的 main 分支已经落后远程 origin/main 30 个 commit。--force 把远程那30个 commit 全部覆盖了,其中包括:
- 数据库迁移脚本
- 网关路由配置
- 上周才上线的支付模块热修复
救火过程
# 第一步:深呼吸
# 第二步:查看 reflog
git reflog...