在git中恢复晃来晃去的斑点 [英] Recover dangling blobs in git

查看:84
本文介绍了在git中恢复晃来晃去的斑点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做了一个git rm -rf。 (试图清除我在做完git add之后删除的文件的缓存)。不考虑git会物理删除这些文件。我没有初始提交/分支。

  $ git init 
$ git add。

我记得添加我的.gitignore。然后,由于懒惰,也没有打扰到查找我正确的命令:

  $ git rm -rf。 

现在git所跟踪的每个文件都不存在了。哎呀。



如何使用悬空斑点恢复文件

  $ git fsck 
注意:HEAD指向未出生的分支(主)
注意:没有默认参考
dangling blob 45cb2316b079df7898a28bab1389c87d37de4da5
dangling blob 06b9d0f91bb0643a54ec027efc0efd6645d95326
dangling blob c6c828230bc129da40928d55297577421c6f2e79
悬挂一滴087b296f5ae80151fb0d6150927ebe8049ed7706
悬挂一滴c957743cb7ea533ce772d178394ce9f656b17b7c
悬挂一滴0ea745612b105394f5cd5c0119a829de98a0a954
悬挂一滴8fb1fa03c12cd56d4e2284008e92a3666bc60b93
晃来晃去的blob cf49a6cf77ac792b108577c01ccf88cb2c28228c
悬挂一滴93817d9eeefea6ea894544e78b0e0970aa5adc46
悬挂一滴94a9ed024d3859793618152ea559a168bbcbb5e2
dangling blob 574b7130959f2278c88946cf385fc49adcdf28c2
dangling blob 582f5bceb8b35c01fd7442678a3cd7e1088b7957
dangling blob d9fb7ca5775745b4332f630400d52c979aab35cd
dangling blo b 2087b182bf8b4b8d5ed8fe45a50c7661bda25feb
悬挂一滴6109baf32d04410c84d860501057a7f55a13f9dd
悬挂一滴22cc2ac7585b1d47bccf2ecb7bf57e16c2142bb6
悬挂一滴63b329443cc27273fad14c1e41de5bb9bf1bdd03
悬挂一滴a2296d429715c9b6d730fdcc972eefdf8273d2e2
晃来晃去的blob e41aedd7b2dbdee8b965a30d40ed0c9275194984
悬挂一滴6dc7b06e8f03cda72cf223b050d07ccd2b850fc8
晃来晃去的blob ee52d86d94a40e7092dc34d1b2760244ec7dccaf
悬挂一滴2ffa08c086d3702563d498c9069a345940b3a348
悬挂一滴6fafa07526ad288ff2f6e26810ed9818eb18aabb
悬挂一滴b1cdf17b5bb40b4839cfc80f7e91bbcf7b94f798
悬挂一滴353db77b88c248c752cdbd914787b9ebdf2d700f
晃来晃去的blob f61d3492ce0d0e396fd322114a5e3475886de1cc
悬挂一滴7756a8713095390f5b106b81ae7f7247f762970b
悬挂一滴bc995b7f9f6806dd5678227579a515bb5768d3a0
dangling blob fce4a77b63b25abbc010859b4037589983820329
dangling blob 3e3335f8cd27168d4fe81f61421d647f2905b7 b0
dangling blob 7f56efed4f8706e5b79408afbde197964d824eab

环顾我只找到恢复悬挂提交的教程 git show fce4a77b63b25abbc010859b4037589983820329 来查看内容(或<$>

解决方案 c $ c> git show fce4a> somefile 将其转储到文件中)。



文件名会丢失(除非还存在悬挂树或其他信息来源,例如命令历史记录在 .bash_history )。



如果你能看到(用 git ls-tree )你的根树,你可以使用 git commit-tree 命令或者一些 git checkout来创建一个提交e48751c3b37a9cab692133202bbb933241f73f69 - 。检索文件。


I did a "git rm -rf ." (trying to purge the cache of files I had removed after doing "git add .") without thinking git would physically delete the files. I don't have an initial commit/branch yet.

$ git init
$ git add .

I remember to add my ".gitignore". Then, out of being lazy and also not bothering to look up the proper command I did:

$ git rm -rf .

Now every file that git was tracking is gone. Oops.

How do I recover the files using the dangling blobs

$ git fsck
notice: HEAD points to an unborn branch (master)
notice: No default references
dangling blob 45cb2316b079df7898a28bab1389c87d37de4da5
dangling blob 06b9d0f91bb0643a54ec027efc0efd6645d95326
dangling blob c6c828230bc129da40928d55297577421c6f2e79
dangling blob 087b296f5ae80151fb0d6150927ebe8049ed7706
dangling blob c957743cb7ea533ce772d178394ce9f656b17b7c
dangling blob 0ea745612b105394f5cd5c0119a829de98a0a954
dangling blob 8fb1fa03c12cd56d4e2284008e92a3666bc60b93
dangling blob cf49a6cf77ac792b108577c01ccf88cb2c28228c
dangling blob 93817d9eeefea6ea894544e78b0e0970aa5adc46
dangling blob 94a9ed024d3859793618152ea559a168bbcbb5e2
dangling blob 574b7130959f2278c88946cf385fc49adcdf28c2
dangling blob 582f5bceb8b35c01fd7442678a3cd7e1088b7957
dangling blob d9fb7ca5775745b4332f630400d52c979aab35cd
dangling blob 2087b182bf8b4b8d5ed8fe45a50c7661bda25feb
dangling blob 6109baf32d04410c84d860501057a7f55a13f9dd
dangling blob 22cc2ac7585b1d47bccf2ecb7bf57e16c2142bb6
dangling blob 63b329443cc27273fad14c1e41de5bb9bf1bdd03
dangling blob a2296d429715c9b6d730fdcc972eefdf8273d2e2
dangling blob e41aedd7b2dbdee8b965a30d40ed0c9275194984
dangling blob 6dc7b06e8f03cda72cf223b050d07ccd2b850fc8
dangling blob ee52d86d94a40e7092dc34d1b2760244ec7dccaf
dangling blob 2ffa08c086d3702563d498c9069a345940b3a348
dangling blob 6fafa07526ad288ff2f6e26810ed9818eb18aabb
dangling blob b1cdf17b5bb40b4839cfc80f7e91bbcf7b94f798
dangling blob 353db77b88c248c752cdbd914787b9ebdf2d700f
dangling blob f61d3492ce0d0e396fd322114a5e3475886de1cc
dangling blob 7756a8713095390f5b106b81ae7f7247f762970b
dangling blob bc995b7f9f6806dd5678227579a515bb5768d3a0
dangling blob fce4a77b63b25abbc010859b4037589983820329
dangling blob 3e3335f8cd27168d4fe81f61421d647f2905b7b0
dangling blob 7f56efed4f8706e5b79408afbde197964d824eab

Looking around I could only find tutorials on recovering dangling commits

解决方案

You can use git show fce4a77b63b25abbc010859b4037589983820329to see the content (or git show fce4a > somefile to dump it to a file).

File names are lost (unless there are also dangling trees or other sources of information like command history in .bash_history).

If you can see (with git ls-tree) your root tree, you can create a commit with it using git commit-tree command or some git checkout e48751c3b37a9cab692133202bbb933241f73f69 -- . to retrieve files.

这篇关于在git中恢复晃来晃去的斑点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆