我正在使用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)
谁能告诉我为什么拉我们不从远程获取文件?
谢谢
答案 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)。
由于您要问的要点是如何将文件恢复到工作目录中,因此有两种选择:
使用git pull
git checkout -- path/to/your/deleted/file
可用于移动到不同的分支,但也可用于签出文件的特定版本。您的情况是git checkout
的版本(当前已检出的提交)。
使用HEAD
清除所有本地更改。小心,此操作没有 undo 。