作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当另一个更重要的问题出现时,我正在修复一个功能。我没有像往常一样创建新分支、提交并移回主分支,而是使用了 git stash
。我忘记了我从未完成修复,只是把它放在我的 stash 。我经常使用 git stash
在使用不同项目配置设置的分支之间移动更改,以针对多个构建环境进行测试,因此我总是存储东西。一段时间后,我意识到在 master 分支中找不到修复程序,我记得我刚才把它藏起来了。我知道我仍然必须拥有它,因为我总是使用 git stash apply
而不是 git stash pop
,但我不知道有多远在堆栈中,这些更改是。但是,我知道如果有帮助的话,此修复的所有更改都是在单个源文件中进行的。
是否有“最佳”方法来尝试找到这个丢失的修复程序?我可以运行 git stash pop
,看看它是否恢复修复,git reset --hard
如果没有,git stash drop
如果有 merge 冲突,重复直到找到它,但我希望有一些破坏性较小的东西。使用 Git 似乎总是有至少 10 种不同的方法来完成您在管理代码方面可能想做的任何事情,所以我想在开始拆除我的存储堆栈之前征求第二意见。
最佳答案
第一次使用
git stash list
获取您已 stash 的所有元素的概览(并获取它们的哈希值)。
要查看他们引入的更改,请使用
git stash show <stash_hash>
要查看这些更改的完整差异,请使用
git stash show -p <stash_hash>
一旦您知道要应用哪个项目,请使用:
git stash apply <stash_hash>
关于git - 我放错了一些工作,但我知道它在我的 git-stash 堆栈中的某个地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30357497/
我是一名优秀的程序员,十分优秀!