引言
在日常开发中,我们难免会遇到手滑操作:代码提交(Commit)甚至推送(Push)到了错误的分支。这种错误看似简单,但如果处理不当,可能会污染代码历史甚至影响团队协作。本文将介绍两种高效的回滚方案,并演示如何通过命令行和IntelliJ IDEA图形化操作解决问题,让你从此不再“慌不择路”!
一、问题场景还原
假设你在开发功能时,本应提交到 feature-login
分支的代码,却误操作到了 dev 分支,甚至已经执行了 git push
。此时你面临两个问题:
- 如何快速撤销错误提交?
- 如何将代码安全迁移到正确的分支?
二、解决方案总览
根据场景需求,可选择两种核心方案:
- 彻底删除提交记录:使用 git reset + 强制推送(适合个人分支或确认可覆盖的场景)。
- 保留历史但撤销更改:使用 git revert 生成反向提交(推荐团队协作分支)。
三、方案一:git reset 回滚本地记录(适合个人分支)
此方法会直接删除提交历史,需配合强制推送覆盖远程分支,操作需谨慎!
步骤详解:
1. 回退本地提交记录
# 回退到错误提交的前一次提交(HEAD~1表示前一次)
git reset