【发布时间】:2012-07-30 18:06:53
【问题描述】:
我应该删除另一个带有git rm abc.c 的文件。但是我删错了。
如何恢复?
现在,当我发出 git status 时,它说
deleted: abc.c
顺便说一句,我现在还有其他未提交的更改。
【问题讨论】:
我应该删除另一个带有git rm abc.c 的文件。但是我删错了。
如何恢复?
现在,当我发出 git status 时,它说
deleted: abc.c
顺便说一句,我现在还有其他未提交的更改。
【问题讨论】:
您需要执行两个命令,第一个将“取消暂存”文件(将其从准备提交的文件列表中删除)。然后,您撤消删除。
如果您阅读了git status 命令的输出(在使用git rm 之后),它实际上会告诉您如何撤消更改(在每个步骤后执行 git status 以查看此内容)。
取消暂存文件:
git reset HEAD <filename>
恢复它(撤消删除):
git checkout -- <filename>
【讨论】:
首先你需要在索引中重置abc.c的状态:
git reset -- abc.c
那么你需要在你的工作树中恢复abc.c:
git checkout -- abc.c
【讨论】:
如果你不小心做了
git rm -rf .
并删除所有,您可以这样做恢复它。
git status
git reset HEAD .
git checkout -- .
首先做git status 看看你删除了哪些文件。
第二次重置 HEAD 以使用 git reset HEAD . 取消暂存所有文件
最后,你可以通过git checkout -- .恢复所有文件
【讨论】:
如果你不小心使用 git delete 命令 'rm' 删除了文件并想要恢复,那么使用命令:
git reset HEAD^<filename>
恢复文件
【讨论】: