协慌网

登录 贡献 社区

git 恢复删除的文件,删除后未提交任何内容

我删除了一些文件。

我还没有承诺。

我想重置我的工作区以恢复文件。

我做了一个git checkout .

但是删除的文件仍然丢失。

并且git status显示:

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

为什么不git checkout .将工作区重置为HEAD

答案

输出告诉您您需要做什么。 git reset HEAD cc.properties

这将取消 rm 操作的阶段。之后,再次运行git status将告诉您您需要执行git checkout -- cc.properties来取回文件。

更新:我的配置文件中有这个

$ git config alias.unstage
reset HEAD

我通常用它来撤消工作。

您已经进行了删除,因此需要执行以下操作:

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

git checkout .仅从已进行删除的索引中检出。

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