git stash恢复

背景: 由于自己在切分支前,将已经改变的代码放到缓存里(git stash)然后切完分支后,忘了再释放出来(git stash pop),然后有觉的分支没有用,又把之前的分支也删除掉(把自己蠢到😭),在webStorm也找不到自己改动的历史记录,所以为了弥补自己过的过失,还好有强大的git找到补救的办法!

  • 找删除记录,可以查看最近的一些删除的提交
git fsck --lost-found 

实例:

  • Dangling blob = 对暂存区域/索引所做的更改,但从未提交。Git的一个令人惊奇的地方是,一旦它被添加到暂存区域中,就可以始终得到它,因为这些BLOB的行为就像提交,因为它们也有一个散列!!

  • Dangling commit = 未直接或由其任何优势者链接到任何分支或标记的提交。你也可以把这些拿回来!

gao@MacBook-Pro yqcloud-front-iam % git fsck --lost-found                            
Checking object directories: 100% (256/256), done.
Checking objects: 100% (27815/27815), done.
dangling blob 161afa7447bc3001f7fdbabf798dd30497d9263a
dangling blob 7e4876e94c39ca511c759ac6e345e21db96bdc88
dangling blob 914b75a60faff837759cbae0050dd6d49d732893
dangling commit c1688b36cd5416c303014ab31e63eaf9fdb49ba4
dangling commit ad78770da667b0921a4e44849c7f25aed6a3bb67
dangling commit 517ced7eafe7942459abc7cb0aa0cd39ab784c2f
dangling commit f37d9da4a4f9d502a5f5f87ff796f7ac89f7f0f4
dangling blob 02b6e76b74edc11b8b5bfc61efae89c1348940c0
dangling blob 04bb3438939c2204f00d837e489040a1d42d2cab
  • 尝试一个一个查找当时丢掉的代码
git show hash值

例如:

 git show f37d9da4a4f9d502a5f5f87ff796f7ac89f7f0f4
  • 通过git show 找到自己丢失,那么就恭喜你了,将代码merge到一切好的分支下
git merge f37d9da4a4f9d502a5f5f87ff796f7ac89f7f0f4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值