如何在 VSCode 中恢复一组未推送的 Git 提交?

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

我一直在使用Git版本控制系统配合VSCode 1.51.0。我有以下情况:

  1. 我做了一些更改,并且为每个更改创建了一个单独的提交(但我没有推送任何提交)
  2. 我不小心调用了
    git checkout
    命令,并且我已经切换到另一个分支。

此后,在我看来,我所有未推送的提交都已丢失。请您告诉我是否有任何方法可以以某种方式恢复它们?预先感谢您的任何想法。

git visual-studio-code
2个回答
1
投票

别惊慌,不会有任何损失。

与某些版本控制系统不同,git 被设计为“完全去中心化”——推送到远程服务器是完全可选的。您的本地工作副本本身就是存储库的完整克隆,并且可以完全在没有任何互联网访问的情况下使用,甚至无需在其他地方“拥有”副本。 切换分支而不推送是完全正常的,无需担心。 当您制作新副本时,您签出了特定的 local 分支,并将提交添加到该分支。您需要知道的只是该分支的名称,您将看到所有提交仍然存在:

git log my-branch-name

将显示它们,git checkout my-branch-name将检查包括它们的分支,您可以将它们推送到远程服务器正常。

在不太可能的情况下,您不知道分支名称,
commits
仍将存在于某处。请参阅

如何恢复丢失的提交?

您可以尝试使用

git stash pop

-1
投票


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