Git 撤销与回退指南:误操作自救手册
Git 误操作几乎每个开发者都遇到过:提交错了、合并乱了、分支删了。本文按场景梳理撤销与回退的命令选择,帮你安全地"时光倒流"。
最近更新:2026年8月13日
需要马上处理?使用 Git 命令速查 ,浏览器本地完成,不上传服务器。
打开 Git 命令速查撤销的三种程度
只想改提交信息:git commit --amend;想撤回提交但保留改动:git reset --soft 或 --mixed;想彻底丢弃改动:git reset --hard(慎用)。
已推送到远程的提交不要 reset,改用 git revert 生成反向提交,安全且不影响协作者。
误删提交与分支自救
git reflog 记录所有 HEAD 移动,误删的提交几乎都能在里面找到哈希,再 reset 或 cherry-pick 恢复。
误删分支同理:reflog 找到分支最后的提交,git branch <名字> <commit> 重建分支。
操作步骤
- 确认误操作的类型(提交、合并、删除)
- 在速查表"撤销与回退"分节找到对应命令
- 优先选择不改历史的命令(revert、--amend)
- 执行后用 git log 确认历史符合预期
常见问题
git reset --hard 之后还能恢复吗?
未推送的提交可以用 git reflog 找到哈希后恢复;但工作区未提交的改动被 --hard 丢弃后通常无法找回,执行前务必确认。
查询命令需要联网吗?
不需要。命令数据内置在页面中,搜索与复制均在浏览器本地完成,不上传任何数据。