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

时间:2010-11-20 22:52:46

标签: git

我在电脑上删除了一些文件,如何再次下载?

拉说:“已经是最新的”

由于

7 个答案:

答案 0 :(得分:135)

由于git是分布式VCS,因此本地存储库包含所有信息。无需下载;你只需要在指尖提取你想要的内容。

如果您尚未提交删除,只需查看当前提交中的文件:

git checkout HEAD <path>

如果您已提交删除,则需要从包含它们的提交中签出文件。据推测,这将是之前的承诺:

git checkout HEAD^ <path>

但如果它n提交前,请使用HEAD~n,或者只需启动gitk,找到相应提交的SHA1,然后将其粘贴。

答案 1 :(得分:34)

git checkout filename

git reset --hard也可以做到这一点

答案 2 :(得分:15)

如果您已在本地删除多个文件但未提交,则可以强行结帐

$ git checkout -f HEAD

答案 3 :(得分:11)

如果您在本地删除了多个文件但未提交更改,请转到本地存储库路径,打开git shell并键入。

$ git checkout HEAD .

将恢复上次提交之前的所有已删除文件。

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

有关详细信息,请查看documentation

答案 4 :(得分:2)

您需要在删除文件之前查看以前的版本。请尝试git checkout HEAD^查看最新修订版。

答案 5 :(得分:1)

这是一个相当小众的用例(虽然很有趣地回答了确切说明的问题),但以防万一有人需要这个:如果你 git filter-branch 删除一个文件及其历史,然后你只想恢复已删除文件的最新版本,git checkout filename 是不够的(因为该文件不再位于存储库的本地历史记录中)并且您需要指定要重置到远程使用 git checkout origin/main -- filename 的版本。

答案 6 :(得分:0)

另外,我添加了以下步骤,以便git repo与IDE正确链接:

 $ git reset <commit #>

 $ git checkout <file/path>

我希望这很有用!!