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

首先输入
git fsck --lost-found

会看到 一条一条的记录
这里的"dangling commit  ..."你可以理解为记录的是你stash的id(经测试,该id不是按时间顺序排列)
复制一条dangling commit 的id(其他的dangling blob不用理会)

然后输入 git show ‘你复制的id‘

然后就可以查看该id的具体内容
记录中会描述日期和摘要,
日期是你git stash 的日期,
摘要会记录你是在哪一条commit 上进行git stash操作的

通过时间或是代码内容你就可以判断是否是你想要的id

找到你想要的id后输入
git merge "id"

这样就还原了你git stash drop, git stash clear 的内容

原文地址:https://www.cnblogs.com/lowmanisbusy/p/9723695.html

时间: 2024-10-09 09:20:07

Lunix git stash clear 或者 git stash drop后恢复的方法的相关文章

Git 实用技巧:git stash

我们经常会遇到这样的情况: 正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来.然后切换到另一个分支去修改bug,修改完提交后,再切回dev分支,使用git stash pop来恢复之前的进度继续开发新功能. 1. stash当前修改 git stash: 保存当前工作进度,会把暂存区和工作区的改动保存起来.执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作

git暂存修改-git stash

暂存已track文件的修改(不包括untrack的文件,新添加的文件在stash后依然可见,但是新添加的文件在stash后再次修改则不能通过stash pop恢复--因为该命令不暂存未track的文件) git stash 暂存所有修改(包括新添加的文件,即恢复到上一次commit的状态,新添加的文件在stash后不可见,只能通过stash pop后恢复,但是不能添加描述信息message) git stash -a 或者 --all 暂存所有修改(同 -a, 但是可以添加message信息,方

Git 对象 和checkout 和stash的笔记

6.1 Git 对象库探秘 通过查看日志的详尽输出 ,我们会惊讶的看到 许多魔幻的数字,这些魔幻数字 其实 就是SHA1 哈希值 一个提交包括 三个哈希值表示的对象ID: commit  e696bbb2f834d1c49efb0272315cbfb717c89207 :表示这是本次提交的唯一标识. tree    56c886493b939f2d2b3500aab92ef372f824db0a:表示本次提交所对应的目录树 parent  59e62a3c485508b3381f80144998

Git详解之六 Git工具(转)

Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力. 接下来你将领略到一些 Git 可以实现的非常强大的功能,这些功能你可能并不会在日常操作中使用,但在某些时候你也许会需要. 6.1  修订版本(Revision)选择 Git 允许你通过几种方法来指明特定的或者一定范围内的提交.了解它们并不是必需的,但是了解一下总没坏处. 单个修订版本 显然你可以使用给出的

Git 进阶指南(git ssh keys / reset / rebase / alias / submodule )

在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 origin 仓库信息 如何配置 git ssh keys 如何撤销修改 遇到冲突了怎么解决 git stash / alias / submodule 的使用问题等 问:如何修改 origin 仓库信息? 1.添加 origin 仓库信息 git remote add origin <git仓库地址>

git 命令参考手册 git中文命令参考手册大全

git init # 初始化本地git仓库(创建新仓库)git config --global user.name "xxx" # 配置用户名git config --global user.email "[email protected]" # 配置邮件git config --global color.ui true # git status等命令自动着色git config --global color.status autogit config --glob

Git知识总览(五) Git中的merge、rebase、cherry-pick以及交互式rebase

上篇博客聊了<git分支管理之rebase 以及 cherry-pick相关操作>本篇博客我们就以Learning Git中的关卡进行展开.下方列举了LearningGit中的 merge.rebase.reset.revert.cherry-pick 以及交互式rebase相关关卡的操作以及对应的解析.后边在聊交互式rebase操作是,不单单给出了LearningGit中的内容,而且给出了真正的Git分支在交互式rebase操作时的具体案例. learngitbranching的地址为:ht

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

git: fatal: Not a git repository (or any of the parent directories): .git

在看书 FlaskWeb开发:基于Python的Web应用开发实战 时,下载完源码后 git clone https://github.com/miguelgrinberg/flasky.git 试着 切换到 提交历史 1a, $ git checkout 1a,出现error: fatal: Not a git repository (or any of the parent directories): .git 这个提示表明现在不在一个git repository目录下,需要切换到flask