【发布时间】:2021-11-05 20:37:20
【问题描述】:
Git 的 fsck doc 谈论“悬空”对象,而 the gc doc 仅谈论“松散对象”。有严格的划分。
但在浏览一些相关的 SO 帖子时,这些术语似乎可以互换使用。在Git Book v2 和 Git 的源代码中:
(main) $ git checkout v2.33.0
(225bc32) $ rg 'dangling (object|commit|blob|tag|tree)' | wc -l
31
(225bc32) $ rg 'loose (object|commit|blob|tag|tree)' | wc -l
117
最后,这两个命令经常按顺序使用,从它们的行为中我可以清楚地看出它们的目标是相同的。
因此,“悬空”和“松散”只是同一概念的两个相似术语。这个总结正确吗?
或者“松散的对象”是一个类别,而“悬空”是故意为特定类型的对象保留的?
【问题讨论】:
标签: git git-gc git-plumbing git-fsck