我放错了一些工作,但我知道它在我的git-stash堆栈中的某个地方

时间:2015-05-20 18:20:50

标签: git git-stash

当另一个更高优先级的问题出现时,我正在修复一个功能。我使用git stash而不是像往常一样创建新的分支,提交和回到主分支。我忘记了我从未完成修复,只是把它放在我的藏匿处。我经常使用git stash在使用不同项目配置设置的分支之间移动更改,以针对多个构建环境进行测试,因此我总是存放东西。一段时间后,我意识到修复工具在主分支中找不到任何地方,我记得我刚才把它藏起来了。我知道我仍然必须拥有它,因为我总是使用git stash apply而不是git stash pop,但我不知道这些更改在堆栈中有多远。但是,我知道此修补程序的所有更改都是在单个源文件中进行的,如果有帮助的话。

是否有最好的"试图找到这个丢失的修复方法?我可以运行git stash pop,查看是否还原修复,git reset --hard如果没有,git stash drop是否存在合并冲突,并重复直到我找到它,但是我希望有一些破坏性小的东西。 Git似乎总是这样,至少有10种不同的方法来完成你在管理代码方面可能想要做的任何事情,所以在开始拆除我的藏匿之前我想得到第二个意见叠加。

1 个答案:

答案 0 :(得分:6)

首次使用

git stash list

了解您藏匿的所有物品(并获取其哈希值)。

要查看他们介绍的更改,请使用

git stash show <stash_hash>

要查看这些更改的完整差异,请使用

git stash show -p <stash_hash>

一旦您知道要申请的项目,请使用:

git stash apply <stash_hash>