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