为什么git pull没有带回我删除的目录?

Mar*_*rty 42 git

我刚开始学习git今天如何使用,进展顺利.

作为实验,我曾经push上传两个目录(每个包含两个文件)和根目录中的两个文件.这很好.

然后我删除了我在本地的两个目录之一(但没有在git上).当我使用git status它似乎意识到这一点:

deleted: test/Testfile.as
deleted: test/Testile2.as

但是当我用来git pull恢复我的文件时,它们似乎没有返回我的本地文件夹.我也试过了git fetch.

我似乎能够取回所有东西的唯一方法是git clone,但这似乎不合逻辑,因为我需要在本地删除我的主目录,然后再次克隆它(或者为克隆文件指定一个新位置).

从github检索已在本地删除的文件和文件夹的适当方法是什么?

man*_*lds 58

git pull 只是在工作目录中合并提取的提交,并且不会恢复已删除的目录(但可能会警告您有关冲突的信息.)

如果您删除了工作目录中的文件夹,则必须执行以下操作:

git checkout -- test
Run Code Online (Sandbox Code Playgroud)

把它拿回来.

或者您可以git reset --hard将工作目录完全置于HEAD状态.


che*_*red 14

您希望将存储库返回到以前的工作版本.这是git-reset的工作.

git reset --hard
Run Code Online (Sandbox Code Playgroud)

一定要仔细阅读git-reset的这个有用的解释

你还可以查看这些文件,如果你想:

git checkout -- test/
Run Code Online (Sandbox Code Playgroud)