美文网首页
在Git中恢复已经删除的Stash

在Git中恢复已经删除的Stash

作者: 我的昵称在不在 | 来源:发表于2018-03-13 19:58 被阅读0次

今天工作的时候,需要从remote repository中获取别人提交的代码,但是自己的working tree已经修改的很多的东西,所以自然而然,先做一次stash再说。

不过在做stash的时候,正好在外部的编辑器中打开了一个工程中得资源文件,导致无法Git无法成功从working copy中删除这个文件。最终的结果是,stash做成功了,但是working copy依然是脏的。这个时候我做了莫名其妙的动作,直接删除了stash。删除完了才发现,stash没有了,但是working copy中只剩下那个孤零零的没有成功stash的文件。

一头冷汗哈,最近两天的工作啊。赶紧想办法把他找回来。还好还好,还是有办法的找回来的。

首先使用fsck命令找到dangling的对象。

git fsck
执行这个命令后,可以看到一大堆信息,就像下边的:

Checking object directories: 100% (256/256), done.
Checking objects: 100% (5572/5572), done.
dangling blob 6537cf0662e078710033e56b93a9b8aa6df60982
dangling commit 03d787944abf794d987a8793e6fce6bc92eaa54d
dangling commit f1e8f5c16aece59b9fe442f9f872aed9b5f2559c
dangling blob 69ec813d3669eb6a5441af1b0be17715e3230a91
dangling blob 16752b498905a04d1d702159c3c331381e1d98e9
这时候,找到你要恢复的对象,你可以用git show 来查看哪个是你删掉的。一旦找到了就好办了,有两个办法可以恢复:

一个是在.git/logs/refs/stash文件中加一条记录如下:

ID of previous stash commit in list or 0000000000000000000000000000000000000000 if none> Your Name
完成以后,你就可以在stash列表中看到你的被删除的stash对象。

另外一个方法就是执行git stash apply命令直接恢复到working copy中,这个时候,最好保证你的working copy是干净的。命令如下:

git stash apply ID(the ID of stash commit)
执行完毕,一切又都回来了!

from: http://ju.outofmemory.cn/entry/159623

相关文章

  • 在Git中恢复已经删除的Stash

    今天工作的时候,需要从remote repository中获取别人提交的代码,但是自己的working tree已...

  • 删除git stash后如何恢复

    恢复误删除的git stash记录 git fsck --unreachable(找删除后的悬空对象)1.首先使用...

  • git stash 删除恢复

    应用场景 stash 手贱删除找回 列出所有stash明细 应用stash

  • git篇之stash

    git stash ---> 将所有的缓存区和工作区改动、新增、删除放进stash贮藏中git stash –ke...

  • Git: 版本控制(7)

    暂时(保存,恢复,删除)工作进度git stash 在工作目录提交过的文件做下修改 然后git status g...

  • Git 恢复删除的Stash

    1.查找到需要恢复的stash 结果: git fsckChecking object directories: ...

  • GIT的使用

    教程地址 查看状态 git status 暂存 git stash 恢复暂存 git stash pop 更...

  • 【Git】恢复被删除的stash

    协作开发由于组员merge我的分支内容到他的分支,又把合并内容push到我的分支。同时我还在自己的本地分支上做了修...

  • git恢复被删除的stash

    背景: 今天不小心把 stash 记录给删除掉。又不想重新敲代码,有点着急~ 解决方法: 只要没把本地仓库给删除,...

  • stash相关

    1,git stash 保存当前工作区到git stack 2, git stash pop [ id]恢复最近或...

网友评论

      本文标题:在Git中恢复已经删除的Stash

      本文链接:https://www.haomeiwen.com/subject/vartqftx.html