我在我的私房钱里存了一小块。我已经使用git stash apply将它应用到我的工作副本。现在,我想通过反向应用补丁来撤销这些更改(有点像git revert会做的事情,但针对的是stash)。
有人知道怎么做吗?
澄清:在我的工作副本中有其他更改。我的具体情况很难描述,但您可以想象在存储库中有一些调试或实验代码。现在,它混合在我的工作副本与其他一些变化,我想看看效果与不从隐藏的变化。
目前看来stash还不支持这个功能,但是git的stash apply—reverse将是一个不错的功能。
除了@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