如何恢复“git rm

我accidentely说git rm -r . 。 我该如何恢复?

我没有提交。

我认为所有文件都被标记为删除,并且也从我的本地结账中删除。

编辑:我可以(如果我知道命令)恢复到最后一次提交。 但是如果我能够撤销git rm -r .会好很多git rm -r . 。 因为我不确定我在最后一次提交之后和git rm -r .之前做了什么git rm -r .


git reset HEAD

应该这样做。 如果您没有任何关心的未提交更改,那么

git reset --hard HEAD

应该强行将所有内容重置为最后一次提交。 如果确实有未提交的更改,但第一条命令不起作用,请使用git stash保存未提交的更改:

git stash
git reset --hard HEAD
git stash pop

在我的下一次提交之前,我发现了一些文件并继续进行修改,当时我意识到需要重新生成一些文件。 不要隐藏和重置,您可以简单地签出您错过/删除的单个文件(如果需要):

git checkout HEAD path/to/file path/to/another_file

这会使其他未提交的更改完整无缺,无任何解决方法。


要重新获得一些单个文件或文件夹,可以使用以下内容

git reset -- path/to/file
git checkout -- path/to/file

这将首先重新创建path/to/file的索引条目并重新创建文件,就像它在最后一次提交时那样,即HEAD

提示:可以将一个提交散列传递给两个命令,以便从较旧的提交中重新创建文件。 有关详细信息,请参阅git reset --helpgit checkout --help

链接地址: http://www.djcxy.com/p/4005.html

上一篇: How to revert a "git rm

下一篇: cached file vs git reset file