我删除了一些文件。

我还没有承诺。

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

我做了一个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?


当前回答

1.找到你想要恢复使用的特定提交:

   git log
This command will give you a list of commits done by you .

2.恢复到该提交使用:

    git revert <commit id> 

现在您的本地分支将拥有所有特定的文件

其他回答

对我来说,什么工作是git签出{SHA1的版本提交恢复}"{路径文件恢复}"

例如git校验5a6b3179e58edff9c90326b9a04284b02fd67bd0 "src-ui/views/includes/radar.pug"

(在我们想要文件进入的分支中执行)

该命令执行后,恢复的文件将存在于原始位置(需要提交)

这对我来说是最简单的方法:

git checkout HEAD~1 path/to/myfile.rb

我在这里找到的。


另一种方法也适用于我:

git reset HEAD path/to/myfile.rb
git restore path/to/myfile.rb

如果你想一次性恢复所有文件

记住使用句点,因为它告诉git抓取所有的文件。

这个命令将重置头部并取消所有的更改:

$ git reset HEAD . 

然后运行该命令恢复所有文件:

$ git checkout .

然后做一个git状态,你会得到:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

如果您已经安装ToroiseGIT,那么只需选择“恢复…”菜单项的父文件夹弹出菜单。

你已经进行了删除,所以你需要做:

git checkout HEAD cc.properties store/README store/cc.properties

Git结帐。仅从已经执行删除操作的索引中检出。