当我执行git fsck
时,我会看到一个悬空物体列表。其中一些被称为悬挂提交,而另一些被称为悬空blob。我想知道这两者之间的确切区别是什么。
答案 0 :(得分:5)
Git为存储库中的每个文件创建blob(除非已存在相同的内容)。悬空blob是与任何提交无关的blob,除非您的存储库在磁盘发生故障等情况下被破坏,否则没有多大用处。
您可以使用git show <blob SHA-1>
查看其内容。
悬空提交,是提交,无法从任何分支的HEAD
到达。您仍然可以使用它们,例如通过调用git cherry-pick <SHA-1>
或git reset <SHA-1>
。
Scott Chacon的Git user's manual中有更多解释。