ddsdjn 发表于 2018-1-15 18:34:19

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到了新技能,简直棒棒哒!
  不过还是奉劝大家,能别出错尽量别出错,万一出错出的太狠,可不一定真能再把错误纠正回来的。
页: [1]
查看完整版本: git stash恢复