如何在VSCode中撤销已同步至GitHub的提交?
修复VSCode提交错误文件后的同步问题
方法一:安全撤销错误提交(推荐,不修改历史)
- 打开VSCode底部的终端(按Ctrl+
就能调出),输入这条命令:git revert HEAD`
这命令会自动生成一个新提交,把你上一次的错误提交抵消掉,不会删除之前的提交记录,适合已经推到GitHub的场景,不会打乱协作节奏。 - 执行完会弹出编辑提交信息的窗口,直接保存关闭即可,无需修改内容。
- 回到VSCode的源代码控制面板,点击「SYNC」按钮(或者在终端输入
git push),把这个撤销提交推到GitHub。此时「incoming and outgoing」的标签应该会消失,本地和远程的提交记录就对齐了。 - 最后处理本地的错误文件:如果不需要保留,就在源代码控制里右键点击该文件,选择「放弃更改」;要是文件还有用,先把它挪到仓库外再处理。之后正常提交你需要的更改,再点击「COMMIT & SYNC」就不会报错了。
方法二:彻底删除错误提交记录(谨慎使用,会修改远程历史)
注意:如果有其他协作者共同使用这个仓库,一定要提前告知他们,不然其他人拉取代码时会出问题!
- 在终端输入:
git reset --hard HEAD~1
这会把本地的提交直接回退到上一次正确的状态,同时本地的错误修改也会被删除,所以要先备份需要保留的文件。 - 接着强制推送到远程:
git push -f - 处理好本地文件后,正常提交同步即可。
内容的提问来源于stack exchange,提问作者gerard
相关产品推荐
相关产品推荐

