在git中,悬空提交和悬空blob之间有什么区别?

时间:2012-04-18 09:38:29

标签: git git-dangling

当我执行git fsck时,我会看到一个悬空物体列表。其中一些被称为悬挂提交,而另一些被称为悬空blob。我想知道这两者之间的确切区别是什么。

1 个答案:

答案 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中有更多解释。