git会在解除文件老化后保留暂存对象吗

git会在解除文件老化后保留暂存对象吗,git,Git,正如我从answer中了解到的,每次我提交一个文件(或其中的一部分),git都会将该文件的索引创建为blob,以便在下一次提交时包括在内 问题是:在我将该文件从索引中取出后,git是否会保留该内容(正如git所建议的:git reset HEAD--file)。只要我不做垃圾收集,可能是以悬空物体的形式 如果我错了,请纠正我是的,你会有一个悬空的物体 me@myvm:/scratch/index2 (master)$ git hash-object foo aff2b43e2799984a7b

正如我从answer中了解到的,每次我提交一个文件(或其中的一部分),git都会将该文件的索引创建为blob,以便在下一次提交时包括在内

问题是:在我将该文件从索引中取出后,git是否会保留该内容(正如git所建议的:
git reset HEAD--file
)。只要我不做垃圾收集,可能是以悬空物体的形式


如果我错了,请纠正我是的,你会有一个悬空的物体

me@myvm:/scratch/index2  (master)$ git hash-object foo
aff2b43e2799984a7b49aaafdeae5c424f7e4121
me@myvm:/scratch/index2  (master)$ git add foo
me@myvm:/scratch/index2  (master)$ git reset foo
me@myvm:/scratch/index2  (master)$ git fsck
notice: HEAD points to an unborn branch (master)
Checking object directories: 100% (256/256), done.
notice: No default references
dangling blob aff2b43e2799984a7b49aaafdeae5c424f7e4121
me@myvm:/scratch/index2  (master)$ 

您可以使用什么
git
命令访问那个悬空对象?我不是故意访问那个悬空对象,我只是想在文件丢失时有机会恢复它。谢谢,您刚刚回答了@TimBiegeleisen的问题。顺便说一句,如果你曾经索引过一个意外删除的文件,你可以用一个
git fsck
来恢复它。以防万一!