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

n00*_*ant 2 git git-stash

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

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

hek*_*mgl 6

首次使用

git stash list
Run Code Online (Sandbox Code Playgroud)

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

要查看它们引入的更改

git stash show <stash_hash>
Run Code Online (Sandbox Code Playgroud)

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

git stash show -p <stash_hash>
Run Code Online (Sandbox Code Playgroud)

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

git stash apply <stash_hash>
Run Code Online (Sandbox Code Playgroud)