git stash恢复
今天下午在使用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到了新技能,简直棒棒哒!
不过还是奉劝大家,能别出错尽量别出错,万一出错出的太狠,可不一定真能再把错误纠正回来的。