我有相当多的更改想要提交到新的分支,但我不小心在 VS Code 中的 master 上工作。直到我不小心单击了“撤消上次提交”(两次,不是一次),这才成为问题,因为我几乎发布到了 master。
我现在特别担心在尝试提交更改时我的进度会被覆盖,因为 VS Code 告诉我这需要我先“拉”。 (我假设覆盖我的文件)。
很抱歉,如果我对自己的情况了解不够,但失去进步的想法让我太害怕了,无法像往常一样开始“尝试”事情(这就是我来到这里的首要原因)。
研究了“撤消”的实际作用后,答案真的很简单。
VS Code“撤消上次提交”只需运行
git reset HEAD~
。如果您打开“GIT”选项卡,这些操作就会出现在输出中。不过,可以通过查看运行 git reflog
记录的内容,然后在 VS Code 运行它之前手动运行 git reset
来找到解决方案。 这里是一个更好的参考。
(我也会保留这一点,以防其他人在 VS Code 中遇到同样令人担忧的错误)
要撤消 VS Code 中的提交,您可以通过集成终端或源代码控制界面使用 Git 命令。这里有几个选项:
bash 复制代码 git reset --soft HEAD~1 --soft 将更改保留在您的工作目录中,您可以修改并重新提交它们。 HEAD~1 指的是上一次提交。 如果您想完全删除提交(包括更改),请使用:
bash 复制代码 git reset --hard HEAD~1 警告:这将永久删除提交和所有更改。
单击侧面活动栏中的源代码管理图标。 右键单击提交历史记录中要撤消的提交。 选择撤消提交或重置提交(取决于上下文)。 3. 恢复提交(撤消提交但保留历史记录) 如果您需要在保留提交历史记录的同时撤消提交,请使用:
bash 复制代码 git 恢复 这将创建一个新的提交,撤消指定提交的更改。
结论 要快速撤消, git reset --soft HEAD~1 通常是最简单的。 如果您喜欢保留历史记录,git revert 可能是您的最佳选择。