2026.4.9上午改bug,git push上传仓库后回退
·
本次 Git 操作核心知识点总结(附实战代码)
结合你这次撤销错误提交、处理报错、彻底删除远程提交的完整流程,我把学到的核心技能、命令和场景整理好了,全是实战能用的干货:
一、核心技能 & 对应命令
1. 解决「本地有修改,无法执行 revert」报错
Git 会保护你的本地代码,拒绝覆盖修改,用 git stash 临时暂存修改
bash
运行
# 临时隐藏本地未提交的代码(安全无丢失)
git stash
# 撤销完成后,恢复隐藏的代码
git stash pop
2. 避免 git revert 卡死编辑器
默认 revert 会弹 Vim 编辑器,加 --no-edit 直接跳过,永不卡顿
bash
运行
# 撤销最新一次提交,无弹窗、不卡死
git revert HEAD --no-edit
3. 取消错误的 revert 操作
revert 错了提交,用 git reset --hard 直接删除本地错误提交(未推送时 100% 安全)
bash
运行
# 回退1个版本,删除上一步错误操作
git reset --hard HEAD~1
4. 彻底删除「已推送到远程的错误提交」(无痕撤销)
适合私有分支,直接让错误提交从本地 + 远程彻底消失(不留撤销记录)
bash
运行
# 1. 回退到 错误提交之前的版本(d750bd8 是你目标commit)
git reset --hard d750bd8
# 2. 安全强制推送,覆盖远程仓库(--force-with-lease 比 -f 更安全)
git push --force-with-lease
5. 安全撤销公共分支提交(团队必备)
如果是多人协作分支,禁止强制推送,用 revert 生成反向提交(不修改历史)
bash
运行
git revert HEAD~1 --no-edit
git push
二、你本次完整实战流程(复盘)
bash
运行
# 1. 暂存本地修改(解决报错)
git stash
# 2. 错误revert,想取消 → 回退删除错误revert
git reset --hard HEAD~1
# 3. 回退到错误提交之前的版本
git reset --hard d750bd8
# 4. 安全强制推送,彻底删除远程错误提交
git push --force-with-lease
三、关键命令速查表
表格
| 命令 | 作用 | 适用场景 |
|---|---|---|
git stash |
暂存本地修改 | 本地有代码,无法执行 Git 操作 |
git revert HEAD --no-edit |
安全撤销提交 | 团队公共分支、已被他人拉取 |
git reset --hard HEAD~1 |
回退上一个版本 | 取消本地错误操作 |
git reset --hard 提交哈希 |
回退到指定版本 | 彻底删除错误提交 |
git push --force-with-lease |
安全强制推送 | 覆盖远程分支(私有分支专用) |
核心总结
- 本地有修改先 stash,永远不会丢代码;
- revert 加 --no-edit,彻底告别编辑器卡死;
- 未推送的错误操作,用
reset --hard直接撤销; - 私有分支想无痕删除提交:
reset回退 + 安全强制推送; - 公共分支永远用
revert,不强制推送。
更多推荐




所有评论(0)