跳到主要内容

Git 撤销提交指南

撤销方式对比

1. git reset --soft(推荐)

保留代码更改,仅撤销提交记录

# 撤销最后 1 次提交
git reset --soft HEAD~1

# 撤销最后 3 次提交
git reset --soft HEAD~3

# 撤销到指定提交
git reset --soft <commit-hash>

特点:

  • 代码更改保留在暂存区
  • 可以重新编辑提交信息
  • 相对安全,不会丢失代码

2. git reset --hard(危险)

完全撤销提交和代码更改

# 撤销最后 1 次提交(包括代码更改)
git reset --hard HEAD~1

# 撤销最后 3 次提交
git reset --hard HEAD~3

特点:

  • 代码更改会完全丢失
  • 无法恢复未提交的修改
  • 高风险操作,谨慎使用

同步到远程仓库

安全强制推送

# 更安全的强制推送(检查远程是否有新提交)
git push --force-with-lease origin main

强制推送

# 强制推送到远程主分支
git push -f origin main

# 推送到指定分支
git push -f origin main
git push -f origin develop