拉取 - 未获取文件



我正在使用Tortoisegit。

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

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

1( Dit Git 克隆 已将存储库保存到我的本地磁盘

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

3(使用Tortosegit进行"拉动",但是我正在获取已删除的文件

带着成功回归。

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)

谁能让我知道为什么拉我们没有从远程获取文件?

谢谢

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

在您的情况下,没有新的提交,因此没有什么可更改的。

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

Git pull 将远程分支中的更改合并到本地分支中。在您的情况下,远程分支中没有任何新提交。

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

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

您所做的是在不告诉 Git 的情况下删除了一个文件。如果您这样做git status它将显示:

changes not staged for commit:
deleted: path/to/your/deleted/file

当你做一个git pull时,Git 将首先获取所有远程提交,然后尝试将它们合并到你的本地分支(通过真正的合并提交,或者通过快进(。从您发布的输出来看,远程设备上没有新的提交,因此不会发生任何事情(您的文件仍然被删除,但您尚未告诉 Git(。

由于问题的要点是如何将文件放回工作目录,因此有两种选择:

  1. 使用git checkout -- path/to/your/deleted/file

    git checkout可用于移动到不同的分支,但也可用于签出文件的特定版本。在您的情况下,HEAD的版本(当前签出的提交(。

  2. 使用git reset --hard HEAD清除所有本地更改。请注意,此操作无法撤消

相关内容

  • 没有找到相关文章

最新更新