回滚与还原 · Revert / Reset
英文:revert/rɪˈvɜːrt/(重音在后)
Git 与版本难度:进阶 ★★
🗣️一句话大白话
「撤销」的姿势分等级:改了没 commit → 丢弃工作区改动;commit 了 → revert 生成一张「反向快照」抵消它;已经 push → revert 后再 push。reset 危险等级最高,慎用。
🎬真实场景
AI 把登录逻辑改崩了,而你 commit 过「改崩前」的版本:git revert 那个坏提交——生成一个「抵消它」的新提交,历史清晰,网站立刻恢复。
📮你可以这样说
「「撤销上一个 commit 的改动:优先用 revert(保留历史)而不是 reset。操作前先把当前状态备份到一个新分支。」」
⚠️边界与常见误解
- ▸revert = 加抵消提交(安全,历史保留);reset = 抹掉历史(本地慎用,push 过的别用)
- ▸未提交的改动一旦 checkout 丢弃就找不回——丢弃前想清楚
- ▸任何回滚前先 commit 或开分支存现状:给「后悔的后悔」留后路