Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git-在本地删除了一些文件,如何从远程存储库获取它们_Git - Fatal编程技术网

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

Git-在本地删除了一些文件,如何从远程存储库获取它们,git,Git,我已经删除了电脑上的一些文件,如何再次下载 Pull说:“已经是最新的了。”在删除文件之前,您需要从中签出以前的版本。尝试git checkout HEAD^签出最新版本。git checkout filename git reset--hard可能也能做到这一点由于git是一个分布式VCS,您的本地存储库包含所有信息。无需下载;你只需要用指尖从回购协议中提取你想要的内容 如果尚未提交删除,请从当前提交中签出文件: git checkout HEAD <path> git签出头

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


Pull说:“已经是最新的了。”

在删除文件之前,您需要从中签出以前的版本。尝试
git checkout HEAD^
签出最新版本。

git checkout filename


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

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

如果尚未提交删除,请从当前提交中签出文件:

git checkout HEAD <path>
git签出头
如果已提交删除,则需要从已提交的提交中签出文件。可能是上一次提交:

git checkout HEAD^ <path>
git签出头^

但是如果是
n
提交之前,请使用
HEAD~n
,或者简单地启动
gitk
,找到相应提交的SHA1,并将其粘贴到中。

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

$ git checkout -f HEAD

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

 $ git reset <commit #>

 $ git checkout <file/path>
$git重置
$git结帐

我希望这是有帮助的

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

$ git checkout HEAD .
将恢复上次提交之前删除的所有文件

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


要了解更多详细信息,请查看。

这是一个相当适合的用例(尽管有趣的是,它准确地回答了问题),但以防任何人需要:如果您确实
git filter branch
删除一个文件及其历史记录,然后只恢复删除文件的最新版本,
git checkout filename
不够(因为该文件不再在存储库的本地历史记录中),您需要使用
git checkout origin/main--filename
指定要重置为远程版本,您不必“再次下载它们”因为当您使用Git时,所有存储库历史记录都存在于本地。您知道如何从本地获取它们吗?警告使用
Git reset--hard
方法,因为这样会将整个树恢复到您放置HEAD/HEAD^/HEAD~n的w/e位置,它将在没有偏见的情况下执行此操作,并且可能会丢失大量提交操作…Git签出filename是我的答案:)git checkout filename只创建了一个空文件,放在所需的文件夹中,并执行了
git checkount。
工作得很有魅力!正如旁注一样,这也适用于完整目录,它不是特殊的或特定于单个文件(至少在我尝试时是有效的)。Thnx btw.N.B。
是必需的,即使当前目录只有
点。但是“分支”(
HEAD
,在上面的示例中)是可选的。与许多Git命令一样,输出和帮助都没有帮助。正如我们从输出“已经是最新的”中看到的,提出这个问题的人最近没有做出任何承诺。您是否应该指定git checkout-f HEAD是危险的?因为它可能会撤消未提交的本地更改(恢复以前的文件是积极的结果,丢失对已编辑文件的更改是消极的结果)。请记住,此命令将覆盖您的所有本地更改。这对我来说非常有用!