我在我的私房钱里存了一小块。我已经使用git stash apply将它应用到我的工作副本。现在,我想通过反向应用补丁来撤销这些更改(有点像git revert会做的事情,但针对的是stash)。

有人知道怎么做吗?

澄清:在我的工作副本中有其他更改。我的具体情况很难描述,但您可以想象在存储库中有一些调试或实验代码。现在,它混合在我的工作副本与其他一些变化,我想看看效果与不从隐藏的变化。

目前看来stash还不支持这个功能,但是git的stash apply—reverse将是一个不错的功能。


当前回答

你可以按照我分享的图像,以取消藏匿,如果你不小心点了藏匿。

其他回答

您可以应用两条命令

Git重置。//反转文件

then

Git结帐。//改变

如何反向应用收藏?

除了别人提到的,最简单的方法是先做

git reset HEAD

然后签出所有本地更改

git checkout . 

除了@Greg Bacon的答案之外,如果二进制文件被添加到索引中,并且是存储使用的一部分

git stash show -p | git apply --reverse

可能导致

error: cannot apply binary patch to '<YOUR_NEW_FILE>' without full index line
error: <YOUR_NEW_FILE>: patch does not apply

add -binary解决了这个问题,但不幸的是还没有找到原因。

 git stash show -p --binary | git apply --reverse
git checkout -f

将删除任何非提交的更改。

对我来说,签出时我刚刚输入了错误的存储库名称。所以根本就没有遥控器可以拉。

因此,除了检查大小写之外,还要检查分支名称的拼写,或者更好的方法是复制并粘贴它,以排除它。