今天下午在使用Git命令进行代码管理时,因为自己一时疏忽直接把自己一天的劳动成果给弄丢了,这还了得,吓死宝宝了。真的,相信有代码丢失的朋友肯定能体会我当时的心情,不能体会我心情的那就祝你们也丢次代码,这样就可以深刻体会到我的心情了。哎,然后冷静了两秒,妈蛋,不能就这么认栽吧,老子可不想再写一遍那恶心的UI还有一些页面逻辑!于是,打开百度问度娘!哎,别说,还真让我找到了!顿时有种拨开云雾见天日,守得云开见月明的心情。于是特写此博客希望大家以我为戒,千万不要因为自己的疏忽酿成不必要的麻烦,就算酿成了错误也要相信一定有什么办法可以解决的!对!就是这样! 
首先我先给大家讲一下我是如何丢弃代码的: 
1.git stash将写好的文件暂存缓存区 
2. git pull origin develop从develop分支下载最新代码 
3. 发现没啥冲突,然后准备git stash pop 
4. 在git stash pop时候发现有个文件改了,然后准备继续git stash然后drop一个文件 
5. 对!你没看错!就是这里!我竟然打错了git stash打成了git status!然后!直接git stash drop stash@{0}然后git stash pop!然后!对! 
没有然后了! 
6. 错误就这样发生了,今天刚写了一天的代码啊,我凑!不行!不能怂,就是干!打开度娘,哎,别说,还真有人解决了这个问题,顿时。。。心花路放啊! 
7. 好,现在将方法告知!采用以下命令,即可找回丢弃代码! 
8. 首先git fsck --lost-found这个就是可以看下自己最近的一些删除的提交。 
然后找到上述你刚才git stash drop stash@{0}时成功删除的id。例如: 
Dropped stash@{0} (e2c07caec2b995ba75ce1abd15796c6f1686d532) 
然后拷贝e2c07caec2b995ba75ce1abd15796c6f1686d532查找git fsck --lost-found列出的删除的提交id, 
如果有恭喜你,离找回只差一步,你可以先用 
git show e2c07caec2b995ba75ce1abd15796c6f1686d532看一下是不是你丢弃的改动文件, 
如果是,直接git merge e2c07caec2b995ba75ce1abd15796c6f1686d532即可找回! 
后来想想其实这次丢失文件未尝不是一件好事,充分显示了git的强大,也又get到了新技能,简直棒棒哒! 
不过还是奉劝大家,能别出错尽量别出错,万一出错出的太狠,可不一定真能再把错误纠正回来的。 

git stash恢复的更多相关文章

  1. git pull 显示的冲突---解决办法git stash

    git pull:显示本地仓库与远程仓库有冲突 Please, commit your changes or stash them before you can merge. Aborting 解决办 ...

  2. git stash 暂存恢复和文件误删恢复

    git commit提交文件,服务器返回本地文件有修改. 1.git stash :暂存本地代码 2.git pull origin develop : 获取远程分支代码 3.git stash po ...

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

    使用git stash命令保存和恢复进度 git stash 保存当前工作进度,会把暂存区和工作区的改动保存起来.执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有 ...

  4. git stash 保存和恢复进度

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

  5. Lunix git stash clear 或者 git stash drop后恢复的方法

    首先输入 git fsck --lost-found 会看到 一条一条的记录 这里的"dangling commit ..."你可以理解为记录的是你stash的id(经测试,该id ...

  6. git stash 切换分支以后 恢复

    场景: 我在A分支开发 突然要去B分支改东西 但是A分支还没开发完 B又比较着急 又不想提交A 但是不提交又切换不到B 于是就发现有个git stash 将当前修改(未提交的代码)存入缓存区,切换分支 ...

  7. Git Stash紧急处理问题,需要切分支

    在开发过程中,大家都遇到过bug,并且有些bug是需要紧急修复的. 当开发人员遇到这样的问题时,首先想到的是我新切一个分支,把它修复了,再合并到master上. 当时问题来了,你当前正在开发的分支上面 ...

  8. 每天一命令 git stash

    git stash  命令是用于保存当前进度的命令.该命令会保存当前工作区的改动.保存的改动是已经跟踪的文件的改动,对于未跟踪的改动stash是不会保存的. git stash 命令常用于分支切换的 ...

  9. Git stash 常见用法

    Git stash git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复 1.1 git stash  保存当前的工作区与暂存区的状态,把当前的工作隐藏起来,等以后需要的时 ...

随机推荐

  1. dede channelartlist 中引用channel 并且设置当前选择类的样式,currentstyle暂时没有效果.特发求助!!!!

    在dede中需要达到当前选择了该类,样式不同的话.如果是channelartlist 的话. 可以使用下面的情况: {dede:channelartlist typeid='6' row='3' cu ...

  2. c#输出、输入练习

    //输出 Console.WriteLine("这是一行文字");  自动回车的. Console.Write("Hello world");  不带回车的. ...

  3. [python] 线程锁

    参考:http://blog.csdn.net/kobeyan/article/details/44039831 1. 锁的概念 在python中,存在GIL,也就是全局解释器锁,能够保证同一时刻只有 ...

  4. dropbear

    生成ssh连接所需要的公钥,如下: /usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key     (dss加密,长度默认 ...

  5. arcgis学习

    将使用arcgis的一些技巧记下来,以供翻阅 1.判断点在面内 insert into grid_res_relation (GRIDID, GRIDTYPE, RESID, restype, typ ...

  6. 【Java】XML解析之DOM4J

    DOM4J介绍 dom4j是一个简单的开源库,用于处理XML. XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP,使用需要引用dom4j.jar包 ...

  7. atexit函数和两种特殊文件权限位

    atexit函数 atexit函数的原型如下 void atexit(void (*func)(void)) 它是一个参数为返回值和参数均为空的函数指针的函数,含义是当前进程结束之前执行参数函数指针所 ...

  8. 取td里面的内容

    var rowLength = document.getElementById("table名字").rows.length;   for(var i=0;i<rowLeng ...

  9. 百度上传工具webuploader,图片上传附加参数

    项目中需要上传视频,图片等资源.最先做的是上传图片,开始在网上找了一款野鸡插件,可以实现图片上传预览(无需传到后台).但是最近这个插件出了莫名的问题,不易修复,一怒之下,还是决定找个大点的,靠谱的插件 ...

  10. yum自动脚本

    echo -e "\033[34mstop server:\033[0m" service iptables stop service NetworkManager stop ch ...