You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code中撤销误推送的未完成更改?

撤销已推送的Git更改

情况1:远程分支还没有其他人拉取过你的更改

这种情况可以直接回退本地提交后强制覆盖远程分支:

  1. 查看提交记录,找到要回退到的目标提交哈希值:
    git log --oneline
    
  2. 回退到指定提交(假设目标哈希为abc123):
    git reset --hard abc123
    
    注:--hard会彻底丢弃当前工作区和暂存区的未提交更改;如果想保留本地修改,可改用--soft或--mixed,但撤销推送更改通常用--hard更彻底。
  3. 强制推送到远程分支(以main分支为例):
    git push -f origin main
    

情况2:已经有其他人拉取了你的更改

强制推送会导致他人本地仓库冲突,此时更安全的方式是生成反向提交来抵消更改:

  1. 找到需要撤销的提交哈希值(同样用git log --oneline查看):
  2. 创建反向撤销提交:
    git revert abc123
    
    命令执行后会弹出编辑器,填写撤销提交的说明后保存退出即可。
  3. 推送这个新的撤销提交到远程:
    git push origin main
    
    其他人拉取后会自动应用该撤销提交,不会产生冲突。

注意事项

  • 使用git reset --hard和强制推送前,务必确认没有其他人基于你要撤销的提交做了新更改,否则会丢失他人的工作内容。
  • 若只需撤销提交中的部分更改,可执行git revert -n abc123,手动调整文件后再提交推送。

内容的提问来源于stack exchange,提问作者N.Thuvaraka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 20:15:35