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 [email protected]{0}然后git stash pop!然后!对! 
没有然后了! 
6. 错误就这样发生了,今天刚写了一天的代码啊,我凑!不行!不能怂,就是干!打开度娘,哎,别说,还真有人解决了这个问题,顿时。。。心花路放啊! 
7. 好,现在将方法告知!采用以下命令,即可找回丢弃代码! 
8. 首先git fsck --lost-found这个就是可以看下自己最近的一些删除的提交。 
然后找到上述你刚才git stash drop [email protected]{0}时成功删除的id。例如: 
Dropped [email protected]{0} (e2c07caec2b995ba75ce1abd15796c6f1686d532) 
然后拷贝e2c07caec2b995ba75ce1abd15796c6f1686d532查找git fsck --lost-found列出的删除的提交id, 
如果有恭喜你,离找回只差一步,你可以先用 
git show e2c07caec2b995ba75ce1abd15796c6f1686d532看一下是不是你丢弃的改动文件, 
如果是,直接git merge e2c07caec2b995ba75ce1abd15796c6f1686d532即可找回! 
后来想想其实这次丢失文件未尝不是一件好事,充分显示了git的强大,也又get到了新技能,简直棒棒哒! 
不过还是奉劝大家,能别出错尽量别出错,万一出错出的太狠,可不一定真能再把错误纠正回来的。 

时间: 2024-10-11 17:20:37

git stash恢复的相关文章

git stash (保存工作现场的操作,然后更新或者去进行其他分支的操作,最后恢复工作现场)

命令:git stash1.使用git stash保存当前的工作现场,那么就可以切换到其他分支进行工作,或者在当前分支上完成其他紧急的工作,比如修订一个bug测试提交.2.如果一个使用了一个git stash,切换到一个分支,且在该分支上的工作未完成也需要保存它的工作现场.再使用git stash.那么stash 队列中就有了两个工作现场.3.可以使用git stash list.查看stash队列.4.如果在一个分支上想要恢复某一个工作现场怎么办:先用git stash list查看stash

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

使用git stash命令保存和恢复进度 git stash 保存当前工作进度,会把暂存区和工作区的改动保存起来.执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动.使用git stash save 'message...'可以添加一些注释 git stash list 显示保存进度的列表.也就意味着,git stash命令可以多次执行. git stash pop [–index] [stash_id] git stash pop 恢复最新的进度到工

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 st

Git Stash用法

最近在使用Git管理项目工程的时候,遇到了很多问题,也学习到了很多关于Git常见使用的技巧,下面就其中关于Git Stash的用法和大家分享下.首先,简单介绍下Git Stash命令的用法,详细的用法在man文档中有相关介绍,下面我来说明常见的使用.git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致.同时,将当前的工作区内容保存到Git栈中.git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容.由于可能

Git stash 常见用法

Git stash git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复 1.1 git stash  保存当前的工作区与暂存区的状态,把当前的工作隐藏起来,等以后需要的时候再恢复,git stash 这个命令可以多次使用,每次使用都会新加一个[email protected]{num},num是编号 1.2 git stash pop 默认恢复git栈中最新的一个[email protected]{num},建议在git栈中只有一条的时候使用,以免混乱 1.3 gi

git stash详解

1.git stash 的作用:保存当前的工作现场 2.git stash 的意义: (1)可以切换到其他分支进行工作,或者在当前分支上完成其他紧急的工作,比如修订一个bug测试提交. (2).如果一个使用了一个git stash,切换到一个分支,且在该分支上的工作未完成也需要保存它的工作现场.再使用git stash.那么stash 队列中 就有了两个工作现场. 3.可以使用git stash list.查看stash队列. 4.如果在一个分支上想要恢复某一个工作现场怎么办:先用git sta

每天一命令 git stash

git stash  命令是用于保存当前进度的命令.该命令会保存当前工作区的改动.保存的改动是已经跟踪的文件的改动,对于未跟踪的改动stash是不会保存的. git stash 命令常用于分支切换的 时候,保存当前的修改,然后切换到另一个分支.修改提交之后,在找回改动. git stash 命令保存当前修改 git stash save 'message'  保存当前修改,并且添加修改信息 git stash list  显示当前所有的stash. git stash pop  弹出最近保存的s

Git的Bug分支----临时保存现场git stash

软件开发中,bug就像家常便饭一样,有了bug就需要修复,在Git中,由于分支是如此的强大,所以每个bug通过一个新的分支来修复,在修复后,合并分支,然后将临时分支删除. 当你接到一个修复代号为119的bug时,很自然的想建立一个分支issue-119来修复它,但是,当前在dev上进行的工作还没有提交. [email protected] MINGW32 /c/gitskill (dev)$ git statusOn branch devChanges to be committed: (use

【转】Git Stash的使用方法

命令:git stash 1.使用git stash保存当前的工作现场,那么就可以切换到其他分支进行工作,或者在当前分支上完成其他紧急的工作,比如修订一个bug测试提交. 2.如果一个使用了一个git stash,切换到一个分支,且在该分支上的工作未完成也需要保存它的工作现场.再使用git stash.那么stash 队列中就有了两个工作现场. 3.可以使用git stash list.查看stash队列. 4.如果在一个分支上想要恢复某一个工作现场怎么办:先用git stash list查看s