拉-未获取文件

时间:2018-08-25 20:15:48

标签: git github tortoisegit

我正在使用Tortoisegit。

我正在执行Pull,但是我没有从远程存储库中获取文件。

以下是我正在执行的步骤:

1)Dit Git克隆 将存储库放入我的本地磁盘

2)手动删除一个文件(不要使用Tortoise的delete选项)

3)使用Tortosegit进行“拉”操作,但是我正在获取删除的文件

Tortoisegit成功返回。

git.exe pull --progress -v --no-rebase "WB" master

From https://github.com/wb/WBR_01
* branch            master     -> FETCH_HEAD
= [up to date]      master     -> WB/master
Already up to date.

Success (2406 ms @ 25/08/2018 21:02:51)

谁能告诉我为什么拉我们不从远程获取文件?

谢谢

3 个答案:

答案 0 :(得分:1)

当您拉时,您的git客户端将连接到配置的远程服务器并检索任何新的提交(获取),然后尝试将它们应用于本地分支(合并)。

在您的情况下,没有新的提交,因此没有任何更改。

如果要放弃本地更改并使工作区反映当前提交,则可以使用clean或reset命令。

答案 1 :(得分:0)

Git pull将更改从远程分支合并到本地分支。就您而言,远程分支中没有任何新的提交。

如果您使用TortoiseGit,并且想找回已删除的文件,则需要在父文件夹(或提交或存储库状态对话框)上使用“ 还原”。右键单击以弹出上下文菜单,然后选择命令TortoiseGit→恢复。将弹出一个对话框,向您显示已删除(或更改)并可以还原(或还原)的文件。选择要还原(或还原)的文件,然后单击“确定”。

答案 2 :(得分:0)

您必须区分Git提交历史记录和本地工作目录中的更改。两者可以共存于同一个存储库中,不必一定对其他存储库有影响。

您所做的只是删除了一个文件,而没有告知Git。如果您进行char,它将显示给您:

git status

当您执行changes not staged for commit: deleted: path/to/your/deleted/file 时,Git将首先获取所有远程提交,然后尝试将它们合并到您的本地分支(通过真正的合并提交或进行快速转发)。从您发布的输出中,遥控器上没有新的提交,因此什么也不会发生(您的文件仍被删除,但您没有告诉Git)。

由于您要问的要点是如何将文件恢复到工作目录中,因此有两种选择:

  1. 使用git pull

    git checkout -- path/to/your/deleted/file可用于移动到不同的分支,但也可用于签出文件的特定版本。您的情况是git checkout的版本(当前已检出的提交)。

  2. 使用HEAD清除所有本地更改。小心,此操作没有 undo