推荐使用 VS Code 内置的“Revert Commit…”功能,等价于 git revert HEAD,生成新提交抵消改动,不改变历史,适合已推送场景;若需丢弃更改,可终端执行 git reset 命令,但 --hard 操作危险且影响协作。

撤销 VS Code 中的上一次 Git 提交,本质是执行 Git 的撤销操作,VS Code 只是提供了图形化界面入口。关键看你想保留还是丢弃那次提交的代码更改——这决定了该用 git revert(安全推荐)还是 git reset(谨慎使用)。
方法一:用 VS Code 内置命令“撤消上次提交”(推荐)
这是最简单、最安全的方式,等价于运行 git revert HEAD,会生成一条新提交来抵消上一次提交的改动,不改变历史,适合已推送到远程仓库的情况。
- 在 VS Code 底部状态栏,点击当前分支名(比如 main 或 master)
- 在弹出的命令面板中,选择 Revert Commit…
- 在列表中选中你想要撤销的那一次提交(默认就是最新的 HEAD),回车确认
- VS Code 会自动创建 revert 提交,你可在源代码管理视图中看到新提交,并正常推送
方法二:通过命令面板运行 Git 命令(灵活控制)
如果你需要更精确的操作(比如想直接丢弃提交并重置工作区),可以调出命令面板手动输入 Git 命令:
- 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)打开命令面板
- 输入并选择 Git: Open Repository in Terminal,或直接打开集成终端(Ctrl+`)
- 根据需求执行以下任一命令:
-
只撤销提交,保留文件修改(软重置):
git reset --soft HEAD~1 -
撤销提交 + 撤销暂存,但保留工作区文件(混合重置,默认):
git reset HEAD~1或git reset --mixed HEAD~1 -
彻底丢弃提交和所有更改(危险!慎用):
git reset --hard HEAD~1 - 执行后,刷新 VS Code 的源代码管理视图即可看到变化
注意事项与提醒
这些操作不是“撤回 VS Code 的某个点击”,而是真实修改 Git 仓库状态,务必注意:
- 如果已把提交推送到远程(如 GitHub),
git reset --hard后再强制推送(git push --force)会覆盖他人历史,团队协作中应避免 -
git revert是协作友好型操作,推荐作为默认选择 - 执行
git reset --hard前建议先git status确认当前状态,必要时可先git stash保存未提交更改 - VS Code 的“撤消”快捷键(Ctrl+Z)只作用于编辑器内的文本编辑,对 Git 提交无效
基本上就这些。选对方法,撤销提交并不复杂,但容易忽略操作后果——尤其是是否已推送、是否影响他人。稳妥起见,优先点一下右下角分支名里的“Revert Commit…”。










