如何在`git rm abc.c`之后恢复文件?

And*_*ind 11 git git-rm

我应该删除另一个文件git rm abc.c.但我删除了一个错误的.我该如何恢复?

现在,当我发行时git status,它说

deleted:   abc.c
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我现在有其他未提交的更改.

Sun*_* D. 20

您需要执行两个命令,第一个将"取消暂存"文件(将其从准备提交的文件列表中删除).然后,撤消删除.

如果您读取git status命令的输出(在使用之后git rm),它实际上告诉您如何撤消更改(在每个步骤之后执行git状态以查看此操作).

取消暂存文件:

git reset HEAD <filename>

恢复它(撤消删除):

git checkout -- <filename>


rob*_*off 9

首先,您需要重置abc.c索引中的状态:

git reset -- abc.c
Run Code Online (Sandbox Code Playgroud)

然后,您需要abc.c在工作树中恢复:

git checkout -- abc.c
Run Code Online (Sandbox Code Playgroud)


Gas*_*lén 7

如果你不小心这么做了

git rm -rf .
Run Code Online (Sandbox Code Playgroud)

并删除所有内容,您可以这样做来恢复它。

git status
git reset HEAD .
git checkout -- .
Run Code Online (Sandbox Code Playgroud)

首先git status查看您删除了哪些文件。第二次重置 HEAD 以取消暂存所有文件git reset HEAD . ,您可以通过执行以下操作来恢复所有文件git checkout -- .