场景

代码正在开发中不想commit,但是要切换其它commit或branch去处理临时紧急任务,于是用git stash 备份当前的工作区的内容。
切换回来时不小心使用了 git stash drop ,于是暂存的修改全没了。

方法一

自己知道删除的ID号

然后通过命令git fsck –lost-found找到最近的一些删除的提交,找到9c8223*,然后git show 9c8223查看修改情况,git stash apply 9c8223即可修复删除掉的内容。

方法二

不知道删除的ID号但是大概记得自己修改了哪些内容

步骤一:把修改内容存入文件

git fsck --lost-found >> 1.txt
或
git fsck --unreachable >> 2.txt

然后两个文件的内容格式如下


步骤二:筛选指定的信息并记住ID,利用脚本快速定位查找

#!/bin/sh
READFILENAME="1.txt"      #上步文件名【1.txt dangling commit,2.txt对应unreachable commit】
RETFILENAME="./ret.txt"   #筛选结果文件名
while read -r line
do  VAR=`echo $line | awk '/dangling commit/ {print $3}'`if [ $VAR ]; thengit show $VAR >> $RETFILENAME    echo "-------------------------------------\n" >>$RETFILENAME #每条记录用---分割开fi
done < $READFILENAME

步骤三: 根据执行结果找回删除的代码


我删除的是commit 9c8223257bb39c4975d3407fbfde72241eb76de6

所以直接 git stash apply 9c8223257bb39c4975d3407fbfde72241eb76de6即可完成恢复

git stash drop 误删恢复相关推荐

  1. 输入git stash后如何恢复代码

    我们在开发过程中,会经常遇到开发本期项目时,需要解决上个排期项目的bug.并且目前现在还不想提交代码.如果我们之间切换分支会显示分支将会被覆盖,此时用git stash可以将我们的代码提交到暂存区.然 ...

  2. git stash后怎么恢复_苹果换卡后怎么恢复通讯录?两种方法帮你解决

    苹果换卡后怎么恢复通讯录?今天小编分两种情况给大家介绍恢复苹果手机通讯录的两种方法,根据自己的情况选择适合自己的操作步骤来找回手机里的通讯录即可. 情景一:使用iCloud同步了通讯录 iCloud是 ...

  3. git stash 强制恢复_开发中必须要掌握的 Git 技巧

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:你喜欢吃青椒么 juejin.im/post/5d157bf3f265da1bcc1 ...

  4. git stash 强制恢复_git操作与分支管理规范

    git操作与分支管理规范 一.git操作规范 git操作流程数据流图 Remote:远程主仓库 Repository:本地仓库 Index:Git追踪树,暂存区 workspace:本地工作区 代码正 ...

  5. 使用git stash命令保存和恢复进度

    上一篇博客我们使用git checkout命令来切换分支. 我们有时会遇到这样的情况,正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可 ...

  6. Git stash 指令总结:暂存和恢复

    应用场景: 刚刚正在dev分支上开发某个项目,这时项目中出现一个严重bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利 ...

  7. git stash 强制恢复_git stash 保存和恢复进度

    1. stash当前修改 git stash会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录. 比如下面的中间状态,通过git stash命令推送一个新的储藏,当前的工 ...

  8. git stash 强制恢复_git stash恢复

    今天下午在使用Git命令进行代码管理时,因为自己一时疏忽直接把自己一天的劳动成果给弄丢了,这还了得,吓死宝宝了.真的,相信有代码丢失的朋友肯定能体会我当时的心情,不能体会我心情的那就祝你们也丢次代码, ...

  9. git stash 个人理解

    link git stash (git 储藏)用于以下场景: 1.发现一个类是多余的,想删掉它担心之后会用到它,想保存但又不想增加一个脏的提交,这时候可以考虑使用git stash; 2.使用git的 ...

  10. Git 分支管理-git stash 和git stash pop

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 合并分支,冲突是难免的,在实际协作开发中我们遇到的情况错综复杂,今天就讲两个比较重要的命令使用git ...

最新文章

  1. python3 selenium 无头浏览器 错误 FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'
  2. java volatile 多线程_Java多线程之volatile
  3. 如何将ng-template整体作为一个参数,传递给另一个组件
  4. 学霸女神冯净冰:我是如何从复旦走到诺奖获得者经济学大会的
  5. Ubuntu下apt-get命令详解(转)
  6. ZigBee MAC层(上)
  7. xtrabackup-增量备份
  8. 从web页面请求的历程出发了解计算机网络的基础知识
  9. Java为何大行其道
  10. 懒人也能变美,AR试妆会让你剁手到停不下来吗?
  11. 君澜酒店集团与来也股份合作,打造国内“冰雪度假打卡圣地”
  12. 【计算机网络】Stanford CS144 学习笔记
  13. 好嗨哟,这5个超牛的资源网站,让你轻松无忧找资源!
  14. 哲学家问题(图形化实现)
  15. presentViewController: 如何不覆盖原先的 viewController界面
  16. 未来10年云计算发展前景如何?云计算的优势在哪里?
  17. 昨天玩游戏的情绪总结
  18. echars 省份名字居中版本的chain.js
  19. MySQL的背景、字体换色
  20. 虚拟内存修改盘符的设置方法

热门文章

  1. SSRS 锁定标题栏
  2. Python爬虫入门【11】:半次元COS图爬取
  3. 前端实战:教你写出简单的侧边栏功能以及返回顶部特效
  4. Stanford CoreNLP 纯Python版本的深度学习NLP工具包 stanza 使用笔记
  5. HTTPS之SNI介绍与Nginx多域名支持
  6. python爬取xici的免费代理、并验证(重点、清楚)
  7. [大话设计模式] 第7章: 代理模式
  8. 【arXiv 2021】Cluster Contrast for Unsupervised Person Re-Identification(CCU)
  9. 语法长难句——并列句的练习
  10. 几道经典的面试题53