当前位置: 首页 > news >正文

git stash Pop 后丢失,要如何找回?

文章目录

  • 须知
  • 背景描述
  • 解决过程

须知

写在前面:我们都知道 stash list 中如果 pop 出来一条,那 list 里就会少一条,但其实使用 git stash pop 并没有真正地将该条 stash 删掉的,而是删除引用而已,因此当我们误 pop 时,我们可以使用 git fsck 命令进行找回~

背景描述

在一次工作中,我不小心误操作,把本地存好的 stash pop 出来后,又 revert 掉了,当时没反应过来,反应过来后顿觉天昏地暗,里面有前一天和当天上午的代码,改的是响应式的调整,要是没了岂不是都白做了… 虽然之前还没找回过丢失的 stash,但我要求自己冷静,大脑飞速运转,想了下觉得 git 其实应该很智能,哪怕 stash list 里没有了,也不会真的删除,于是我开始上网查和问同事,网上确实有相关的帖子告知如何找回,于是开始按帖子尝试!

解决过程

  1. 通过
git fsck --unreachable  // 该命令查找所有 unreachable 记录

git fsck --lost-found

两条命令其中的一条来进行查询,这里我使用的是 git fsck – lost -found,
查询出结果如下:
在这里插入图片描述

然后通过 git show+[SHA] 一条一条的对commit的记录进行查看,SHA 对应的就是 commit Id,即每条 commit 后的那一串字母与数字的组合
在这里插入图片描述

注意
这里的 commit 是无序的,你也不知道你丢失的那条 stash 的 commitId 是啥,所以只能一条一条 git show commitId 去查看!

show 出来的内容顶部会有提交的时间,stash 名称和提交的文件内容,直接都展示出来,如何快速地查找记录?我因为清楚地知道我这条 stash 是啥时候加的,所以一看时间和名称不是,就直接下一个了。

当你查看到时你丢失的那条记录时,拿着这条 commitId,进行 git statsh apply commitId 的操作,就可以在本地找回丢失的这条 stash。

记录一下,希望能帮到更多的人,以后自己再遇到也知道怎么做了~

遇事千万不能慌啊~

参考连接:

https://www.jianshu.com/p/59f30cc47db1
https://zhuanlan.zhihu.com/p/660023218
https://blog.csdn.net/qq_62947569/article/details/135385393
https://www.jianshu.com/p/59f30cc47db1
https://blog.csdn.net/CSDN_wcy/article/details/137117625

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python输入、输出和变量
  • Java——集合(一)
  • flex布局无法设置图片icon和文本垂直居中对齐问题
  • 新手必备:macOS上用Homebrew轻松安装MySQL
  • 程序员如何高效读代码?
  • android 彩虹进度条自定义view实现
  • 软考高级论文真题“论大数据lambda架构”
  • express+vue在线im实现【三】
  • docker的隔离机制
  • 2024全国高校名单发布,电子版下载!
  • 安装Cmakeffmpeglibssh
  • 【设计模式深度剖析】【11】【行为型】【解释器模式】| 以算术表达式求值为例加深理解
  • 【雪花算法】
  • SpringBoot使用spring.factories加载默认配置
  • Python+Pytest+Yaml+Request+Allure接口自动化测试框架详解
  • #Java异常处理
  • 11111111
  • Android系统模拟器绘制实现概述
  • Idea+maven+scala构建包并在spark on yarn 运行
  • k8s如何管理Pod
  • Netty源码解析1-Buffer
  • nodejs实现webservice问题总结
  • Python进阶细节
  • 回顾2016
  • 简单易用的leetcode开发测试工具(npm)
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 三栏布局总结
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 学习笔记TF060:图像语音结合,看图说话
  • 智能合约开发环境搭建及Hello World合约
  • Spring第一个helloWorld
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​马来语翻译中文去哪比较好?
  • ​一些不规范的GTID使用场景
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #Linux(权限管理)
  • #pragma data_seg 共享数据区(转)
  • $(function(){})与(function($){....})(jQuery)的区别
  • (rabbitmq的高级特性)消息可靠性
  • (vue)页面文件上传获取:action地址
  • (初研) Sentence-embedding fine-tune notebook
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (南京观海微电子)——示波器使用介绍
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)appium-desktop定位元素原理
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)shell调试方法
  • (转)Sql Server 保留几位小数的两种做法
  • (转)大型网站架构演变和知识体系
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET CORE使用Redis分布式锁续命(续期)问题