我删除了电脑上的一些文件,如何重新下载?拉表示:“已经是最新的”。
sg3maiej1#
由于git是一个分布式VCS,你的本地仓库包含了所有的信息,不需要下载;您只需要在指尖从存储库中提取所需的内容。如果您还没有提交删除操作,只需 checkout 当前提交的文件:
git checkout HEAD <path>
如果你已经提交了删除操作,你需要从包含文件的提交中 checkout 这些文件,可能是之前的提交:
git checkout HEAD^ <path>
但是如果是n之前的提交,使用HEAD~n,或者直接启动gitk,找到相应提交的SHA1,然后粘贴进去。
n
HEAD~n
gitk
im9ewurl2#
git checkout filenamegit reset --hard可能也能达到这个目的
git checkout filename
git reset --hard
hrirmatl3#
如果已在本地删除多个文件但尚未提交,则可以强制 checkout
$ git checkout -f HEAD
brtdzjyr4#
如果您在本地删除了多个文件,并且没有提交更改,请转到本地资源库路径,打开git shell并输入。
$ git checkout HEAD .
上次提交之前删除的所有文件都将恢复。添加.“”将把当前存储库中所有已删除的文件恢复到它们各自的路径。欲了解更多详情,请查看documentation。
ej83mcc05#
在删除文件之前,您需要 checkout 中的以前版本。请尝试git checkout HEAD^ checkout 最新修订版。
git checkout HEAD^
lnlaulya6#
这是一个相当小众的用例(尽管有趣的是,它准确地回答了这个问题),但以防万一有人需要这个:如果您执行git filter-branch删除一个文件沿着历史记录,然后您只想恢复已删除文件的最新版本,git checkout filename将不够(因为该文件不再位于存储库的本地历史记录中),您需要指定您想使用git checkout origin/main -- filename重置为远程版本。
git filter-branch
git checkout origin/main -- filename
e4eetjau7#
此外,我添加了以下步骤,以便git repo能够正确地链接到IDE:
$ git reset <commit #> $ git checkout <file/path>
希望这对你有帮助!!
6xfqseft8#
在代码目录中:git checkout .
git checkout .
41ik7eoe9#
如果已删除的文件已暂存,则git checkout <file>不起作用。您必须先取消暂存,然后再执行 checkout取消暂存
git checkout <file>
git restore --staged <file>
然后结账
9条答案
按热度按时间sg3maiej1#
由于git是一个分布式VCS,你的本地仓库包含了所有的信息,不需要下载;您只需要在指尖从存储库中提取所需的内容。
如果您还没有提交删除操作,只需 checkout 当前提交的文件:
如果你已经提交了删除操作,你需要从包含文件的提交中 checkout 这些文件,可能是之前的提交:
但是如果是
n
之前的提交,使用HEAD~n
,或者直接启动gitk
,找到相应提交的SHA1,然后粘贴进去。im9ewurl2#
git checkout filename
git reset --hard
可能也能达到这个目的hrirmatl3#
如果已在本地删除多个文件但尚未提交,则可以强制 checkout
brtdzjyr4#
如果您在本地删除了多个文件,并且没有提交更改,请转到本地资源库路径,打开git shell并输入。
上次提交之前删除的所有文件都将恢复。
添加.“”将把当前存储库中所有已删除的文件恢复到它们各自的路径。
欲了解更多详情,请查看documentation。
ej83mcc05#
在删除文件之前,您需要 checkout 中的以前版本。请尝试
git checkout HEAD^
checkout 最新修订版。lnlaulya6#
这是一个相当小众的用例(尽管有趣的是,它准确地回答了这个问题),但以防万一有人需要这个:如果您执行
git filter-branch
删除一个文件沿着历史记录,然后您只想恢复已删除文件的最新版本,git checkout filename
将不够(因为该文件不再位于存储库的本地历史记录中),您需要指定您想使用git checkout origin/main -- filename
重置为远程版本。e4eetjau7#
此外,我添加了以下步骤,以便git repo能够正确地链接到IDE:
希望这对你有帮助!!
6xfqseft8#
在代码目录中:
git checkout .
41ik7eoe9#
如果已删除的文件已暂存,则
git checkout <file>
不起作用。您必须先取消暂存,然后再执行 checkout
取消暂存
然后结账