9

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

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,但没有任何改变。

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

4

3 回答 3

7

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}
于 2013-06-18T12:27:52.300 回答
1

我与@kostix 同时找到了答案。

git reset --hard 46dbc13

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

于 2013-06-18T13:17:13.907 回答
0

这个问题被问到已经 5 年了,但也许这个答案会对当代成员有益。

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

解决方案: 在 NetBeans 中,单击您的项目名称,然后从主菜单中选择 Team => History => Revert Deleted。稍等一下,NetBeans 将列出以前删除的文件。选择您需要的,然后单击确定。

就是这样,无需为任何命令而苦恼,感谢 NetBeans 提供的实用解决方案!

于 2018-06-19T09:46:33.357 回答