第4章:回滚的艺术——reset、revert、restore到底用哪个
本章你将彻底搞懂:
git reset --soft、--mixed、--hard三种模式的区别与使用场景。git revert与git reset的本质区别(安全逆向 vs 改写历史)。新版 Git 中git restore如何替代git checkout -- <file>。
配套资源:一个“回滚决策树”思维导图(Mermaid 可复制)、git undo万能别名、git reset事故恢复脚本。
真实踩坑:我曾用git reset --hard把两天的工作全部丢失,最后靠git reflog勉强找回;还有一次用git revert撤销 merge commit,结果重做后代码乱掉,加班到凌晨。
4.1 凌晨两点的git reset --hard噩梦
2018 年我在某电商公司做大促活动。晚上 11 点,运营说页面上的价格显示错了,需要紧急修复。我本地调试了很久,改了好几个文件,但一直没提交。突然想到需要切换到另一个分支验证,于是执行了:
