问题库 问题库 how-to

Git 如何撤销最后一次 commit

快速答案

最后一次 commit 还没推送时,保留改动可以用:

bash
git reset --soft HEAD~1

如果已经推送到共享分支,更稳妥的是:

bash
git revert HEAD

怎么选

  • 未推送:可以用 git reset --soft HEAD~1。
  • 已推送但只有自己使用:谨慎 reset 后再推送。
  • 已推送到共享分支:优先 git revert HEAD。

常见坑

  • git reset --hard HEAD~1 会丢弃工作区改动,执行前要确认没有未保存内容。
  • reset 会改写历史,团队分支上不要随意强推。
  • revert 不会删除原提交,而是新增一个反向提交。

相关内容