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
最后,这两个命令经常按顺序使用,从他们的行为来看,我似乎很清楚它们的目标是相同的东西。因此,“dangling”和“loose”只是同一个概念的两个相似术语。这个总结正确吗?
或者“松散的物体”是一个类别,而“悬空”是特意为特定类型的物体保留的?
最佳答案
松散的物体可以是悬空的,包可以包含悬空的物体。所以这些概念是正交的。但是您可以创建一个引用(分支,标签),它将引用一个悬空提交,它将停止“悬垂”。
关于git - "dangling"和 "loose"对象是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69113771/