在rm之后的最后一次提交和当前之间恢复Git文件

时间:2015-06-12 17:06:22

标签: git

我在上次提交后添加并删除了一些文件。我意外地删除了整个子文件夹。 git命令的顺序:

git add src/app/klicka/*

modified:   src/app/klicka/_klicka.scss
new file:   src/app/klicka/img/beispiel-buttons.png
new file:   src/app/klicka/img/beispiel-lightbox-1.png
new file:   src/app/klicka/img/beispiel-lightbox-2.png
new file:   src/app/klicka/img/beispiel-lightbox-3.png
new file:   src/app/klicka/img/beispiel-pascoe.png
new file:   src/app/klicka/img/button-jetzt-ausprobieren.png
new file:   src/app/klicka/img/referenzen-row-1.jpg
new file:   src/app/klicka/img/referenzen-row-2.jpg
new file:   src/app/klicka/img/referenzen-row-3.jpg

但仍有删除的文件

所以我做了:

我从这里得到的{p> git rm */klicka/* $(git ls-files --deleted)Removing multiple files from a Git repo that have already been deleted from disk 但似乎你不能在子模式上使用它,所以它删除了我的整个文件夹。

之后我使用git reset,因为我想取消所有更改。但现在文件夹仍然没有了。我没有提交是否有办法恢复rm和最后一次提交之间的状态?我还有其他提交要做。

1 个答案:

答案 0 :(得分:0)

您可以使用git reflog命令,该命令为您提供HEAD执行命令列表。你执行命令后可以回到HEAD,一切都会回来。

$ git reflog

以下将是输出

git reflog output

现在回到那个HEAD,你可以运行下面的命令,假设你想要应用HEAD @ {5}。

$ git reflog HEAD@{5}

您可以在此处获取更多信息http://git-scm.com/docs/git-reflog