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

tsm1rwdh  于 2023-02-11  发布在  Git
关注(0)|答案(9)|浏览(328)

我删除了电脑上的一些文件,如何重新下载?
拉表示:“已经是最新的”。

sg3maiej

sg3maiej1#

由于git是一个分布式VCS,你的本地仓库包含了所有的信息,不需要下载;您只需要在指尖从存储库中提取所需的内容。
如果您还没有提交删除操作,只需 checkout 当前提交的文件:

git checkout HEAD <path>

如果你已经提交了删除操作,你需要从包含文件的提交中 checkout 这些文件,可能是之前的提交:

git checkout HEAD^ <path>

但是如果是n之前的提交,使用HEAD~n,或者直接启动gitk,找到相应提交的SHA1,然后粘贴进去。

im9ewurl

im9ewurl2#

git checkout filename
git reset --hard可能也能达到这个目的

hrirmatl

hrirmatl3#

如果已在本地删除多个文件但尚未提交,则可以强制 checkout

$ git checkout -f HEAD
brtdzjyr

brtdzjyr4#

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

$ git checkout HEAD .

上次提交之前删除的所有文件都将恢复。
添加.“”将把当前存储库中所有已删除的文件恢复到它们各自的路径。
欲了解更多详情,请查看documentation

ej83mcc0

ej83mcc05#

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

lnlaulya

lnlaulya6#

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

e4eetjau

e4eetjau7#

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

$ git reset <commit #>

 $ git checkout <file/path>

希望这对你有帮助!!

6xfqseft

6xfqseft8#

在代码目录中:git checkout .

41ik7eoe

41ik7eoe9#

如果已删除的文件已暂存,则git checkout <file>不起作用。
您必须先取消暂存,然后再执行 checkout
取消暂存

git restore --staged <file>

然后结账

git checkout <file>

相关问题