Git 在本地删除了一些文件,如何从远程存储库中获取它们

我已经删除了我电脑上的一些文件,我如何再次下载它们?

拉说: “已经是最新的”。

153734 次浏览

您需要在删除文件之前签出以前的版本。尝试 git checkout HEAD^检查最后一次修订。

git checkout filename

git reset --hard可能也会起作用

由于 git 是一个分布式 VCS,因此本地存储库包含所有信息。不需要下载; 您只需要从回购中提取您想要的内容。

如果您还没有提交删除,只需检查当前提交的文件:

git checkout HEAD <path>

如果您已经提交了删除操作,那么您需要从提交中签出这些文件。可能是之前的承诺:

git checkout HEAD^ <path>

但是如果是 n之前提交的,那么使用 HEAD~n,或者直接启动 gitk,找到适当提交的 SHA1,然后粘贴它。

如果您已经在本地删除了多个文件但没有提交,则可以强制签出

$ git checkout -f HEAD

此外,我添加了以下步骤,以便 git repo 能够正确链接到 IDE:

 $ git reset <commit #>


$ git checkout <file/path>

我希望这有帮助! !

如果您在本地删除了多个文件并且没有提交更改,那么转到您的本地存储库路径,打开 git shell 并输入。

$ git checkout HEAD .

最后一次提交之前删除的所有文件将被恢复。

添加“ .”将恢复当前存储库中被删除的所有文件到它们各自的路径。

要了解更多细节,请查看 文件

这是一个相当小众的用例(尽管有趣的是,这个问题的答案正如所陈述的那样) ,但是只是为了以防万一有人需要这个: 如果你做 git filter-branch删除一个文件连同它的历史,然后你想恢复被删除的文件的最新版本,git checkout filename将是不够的(因为该文件不再在本地历史的存储库) ,你需要指定你想要重置到远程版本使用 git checkout origin/main -- filename

在代码目录中: git checkout .