一些文件在Git Stash之后消失了

时间:2013-06-18 12:14:36

标签: git

我正在处理目录。自从我上次提交以来,我做了一些修改。我想忽略所有这些修改(在我上次提交之后)。很快,我想转回我的最后一次提交。我不小心执行了错误的命令,我执行了这个:

git stash
Saved working directory and index state WIP on master: 46dbc13 Ayarlar activity geri butonu
HEAD is now at 46dbc13 Ayarlar activity geri butonu

在此之后,我的大多数文件(我的所有图像文件)都消失了。但它们存在于我的最后一次提交中(#46dbc13)。我藏匿后删除它们。我不知道。我执行了git stash apply但没有改变。

你能告诉我发生了什么吗?

3 个答案:

答案 0 :(得分:5)

git stash是一种“将您的更改放在一边”的机制。当你正在编写新功能但必须切换到更高优先级的东西时,我发现它最常使用。

如果您想查看存储条件列表,可以使用git stash list并查看与以下类似的内容:

git stash list
stash@{0}: WIP on master: 46dbc13 Ayarlar activity geri butonu

如果您想应用更改,则必须使用以下两个命令之一:

Pop:这会从你的筹码中弹出最高的藏匿

git stash pop

'应用':这将应用给定的存储。如果你的git stash list只有一个藏匿点(如上面给出的那样),你可以使用它。如果您有多个藏匿处,则需要应用您希望应用的特定藏匿处。

git stash apply stash@{0}

答案 1 :(得分:1)

我在@kostix的同时找到了答案。

git reset --hard 46dbc13

解决了我的所有问题。我从这里找到了这个命令:https://stackoverflow.com/a/4114122/556169

答案 2 :(得分:0)

问题问题已经过了5年,但也许这个答案对当代成员有利。

我正在为那些遇到同样问题并使用(或将使用)NetBeans IDE的人写这个答案。

<强>解: 在NetBeans中,单击您的项目名称,然后从主菜单中选择Team =&gt;历史=&gt;还原已删除。 稍等一下,NetBeans将列出以前删除的文件。选择您需要的那些,然后单击“确定”。

由于NetBeans提供了这个实用的解决方案,所以不需要为任何命令而烦恼!