我删除了一些文件。

我还没有承诺。

我想重置我的工作空间来恢复文件。

我做了一个git结帐。

但被删除的文件还是不见了。

git状态显示:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   deleted:    cc.properties
#   deleted:    store/README
#   deleted:    store/cc.properties
#

为什么不结帐。将工作空间重置为HEAD?


当前回答

自动地一次性恢复所有未分级的删除,而不指定每一个路径:

git ls-files -z -d | xargs -0 git checkout --

自动地一次性恢复所有的阶段性删除,而不指定每一个路径:

git status | grep 'deleted:' | awk '{print $2}' | xargs git checkout --

其他回答

只需将git checkout path/to/file-I-want-to-bring-back.txt

由于您正在执行git签出,看起来您正在尝试将分支恢复到上次提交状态。

你可以通过git重置HEAD来实现这一点——很难

警告

这样做可能会删除所有最新的修改并取消您的修改,例如,您可能会丢失工作。这可能是你想要的,但请检查文件以确保。

你想看这个吗

这适用于你用过的情况

git checkout -- .

在你做出承诺之前。

您可能还希望删除尚未创建的已创建文件。你不想要他们。:

git reset -- .

我也遇到了同样的问题,但上面的解决方案都不适合我。 我最后做的是: —创建同名的空文件 -将该文件与本地历史文件进行比较 -将历史记录复制到空文件。

如果您正在寻找已删除的目录。

 git checkout ./pathToDir/*