Git 如何撤销最后一次 commit
快速答案
最后一次 commit 还没推送时,保留改动可以用:
git reset --soft HEAD~1
如果已经推送到共享分支,更稳妥的是:
git revert HEAD
怎么选
- 未推送:可以用
git reset --soft HEAD~1。 - 已推送但只有自己使用:谨慎 reset 后再推送。
- 已推送到共享分支:优先
git revert HEAD。
常见坑
git reset --hard HEAD~1会丢弃工作区改动,执行前要确认没有未保存内容。- reset 会改写历史,团队分支上不要随意强推。
- revert 不会删除原提交,而是新增一个反向提交。
相关内容
相关内容
- Git 如何修改 commit message Git 如何修改 commit message:最后一次提交用 git commit --amend,更早提交用 git rebase -i,已推送共享分支要谨...
- Git 如何修改 remote Git 如何修改 remote:用 git remote -v 查看当前地址,再用 git remote set-url origin 新地址修改远程仓库。
- Git 如何删除远程分支 Git 如何删除远程分支:用 git push origin --delete branch-name 删除远程分支,再用 git fetch --prune...
- Git 如何恢复删除文件 Git 如何恢复删除文件:未提交删除用 git restore,已提交删除先找到删除前提交,再从指定提交检出文件。
- Git 如何找回丢失 commit Git 如何找回丢失 commit:先用 git reflog 找到 HEAD 历史位置,再创建恢复分支或 reset 回目标提交。
- Git 如何重命名分支 Git 如何重命名分支:本地用 git branch -m 改名,已推送分支还需要推送新分支、删除旧远程分支并设置 upstream。