我一直在使用Git版本控制系统配合VSCode 1.51.0。我有以下情况:
git checkout
命令,并且我已经切换到另一个分支。此后,在我看来,我所有未推送的提交都已丢失。请您告诉我是否有任何方法可以以某种方式恢复它们?预先感谢您的任何想法。
别惊慌,不会有任何损失。
与某些版本控制系统不同,git 被设计为“完全去中心化”——推送到远程服务器是完全可选的。您的本地工作副本本身就是存储库的完整克隆,并且可以完全在没有任何互联网访问的情况下使用,甚至无需在其他地方“拥有”副本。 切换分支而不推送是完全正常的,无需担心。 当您制作新副本时,您签出了特定的 local 分支,并将提交添加到该分支。您需要知道的只是该分支的名称,您将看到所有提交仍然存在:
git log my-branch-name
将显示它们,git checkout my-branch-name
将检查包括它们的分支,您可以将它们推送到远程服务器正常。
commits仍将存在于某处。请参阅如何恢复丢失的提交?
git stash pop