当另一个更高优先级的问题出现时,我正在修复一个功能。我使用git stash
而不是像往常一样创建新的分支,提交和回到主分支。我忘记了我从未完成修复,只是把它放在我的藏匿处。我经常使用git stash
在使用不同项目配置设置的分支之间移动更改,以针对多个构建环境进行测试,因此我总是存放东西。一段时间后,我意识到修复工具在主分支中找不到任何地方,我记得我刚才把它藏起来了。我知道我仍然必须拥有它,因为我总是使用git stash apply
而不是git stash pop
,但我不知道这些更改在堆栈中有多远。但是,我知道此修补程序的所有更改都是在单个源文件中进行的,如果有帮助的话。
是否有最好的"试图找到这个丢失的修复方法?我可以运行git stash pop
,查看是否还原修复,git reset --hard
如果没有,git stash drop
是否存在合并冲突,并重复直到我找到它,但是我希望有一些破坏性小的东西。 Git似乎总是这样,至少有10种不同的方法来完成你在管理代码方面可能想要做的任何事情,所以在开始拆除我的藏匿之前我想得到第二个意见叠加。
答案 0 :(得分:6)
首次使用
git stash list
了解您藏匿的所有物品(并获取其哈希值)。
要查看他们介绍的更改,请使用
git stash show <stash_hash>
要查看这些更改的完整差异,请使用
git stash show -p <stash_hash>
一旦您知道要申请的项目,请使用:
git stash apply <stash_hash>