VS 代码提交撤消

问题描述 投票:0回答:3

我有相当多的更改想要提交到新的分支,但我不小心在 VS Code 中的 master 上工作。直到我不小心单击了“撤消上次提交”(两次,不是一次),这才成为问题,因为我几乎发布到了 master。

我现在特别担心在尝试提交更改时我的进度会被覆盖,因为 VS Code 告诉我这需要我先“拉”。 (我假设覆盖我的文件)。

很抱歉,如果我对自己的情况了解不够,但失去进步的想法让我太害怕了,无法像往常一样开始“尝试”事情(这就是我来到这里的首要原因)。

git visual-studio-code
3个回答
18
投票
  1. 转到vscode右上角的三个点(...)
  2. 去提交
  3. 选择撤消上次提交

见下图:
enter image description here


16
投票

研究了“撤消”的实际作用后,答案真的很简单。

VS Code“撤消上次提交”只需运行

git reset HEAD~
。如果您打开“GIT”选项卡,这些操作就会出现在输出中。不过,可以通过查看运行
git reflog
记录的内容,然后在 VS Code 运行它之前手动运行
git reset
来找到解决方案。 这里是一个更好的参考。

(我也会保留这一点,以防其他人在 VS Code 中遇到同样令人担忧的错误)


0
投票

要撤消 VS Code 中的提交,您可以通过集成终端或源代码控制界面使用 Git 命令。这里有几个选项:

  1. 撤消上次提交(在 VS Code 终端中使用 Git CLI) 如果您想撤消上次提交但将更改保留在工作目录中(以便您可以重新提交它们),您可以使用以下 Git 命令:

bash 复制代码 git reset --soft HEAD~1 --soft 将更改保留在您的工作目录中,您可以修改并重新提交它们。 HEAD~1 指的是上一次提交。 如果您想完全删除提交(包括更改),请使用:

bash 复制代码 git reset --hard HEAD~1 警告:这将永久删除提交和所有更改。

  1. 从 VS Code 源代码控制界面撤消提交 您还可以使用 VS Code 中的源代码控制面板撤消提交:

单击侧面活动栏中的源代码管理图标。 右键单击提交历史记录中要撤消的提交。 选择撤消提交或重置提交(取决于上下文)。 3. 恢复提交(撤消提交但保留历史记录) 如果您需要在保留提交历史记录的同时撤消提交,请使用:

bash 复制代码 git 恢复 这将创建一个新的提交,撤消指定提交的更改。

  1. Git 扩展/GUI(如果您不想使用终端) 如果您对终端不满意,可以使用 GitLens 或 Git Graph 等 Git 扩展来获得更直观的方法。这两个扩展都允许您直接通过界面撤消提交。

结论 要快速撤消, git reset --soft HEAD~1 通常是最简单的。 如果您喜欢保留历史记录,git revert 可能是您的最佳选择。

© www.soinside.com 2019 - 2024. All rights reserved.