什么是“散物”;Git GUI指的是什么?

当我打开Git GUI时,我得到一个指向loose objects的弹出消息。我做了git gc,这删除了消息。

什么是loose objects,我怎么能防止这种情况再次发生?

80196 次浏览

Git Book解释得很好: https://git-scm.com/book/en/v2/Git-Internals-Packfiles < / p >

松散对象是更简单的格式。 它只是被压缩的数据 存储在磁盘上的单个文件中。每一个

带有SHA say - 810cae53e0f622d6804f063c04a83dbc3a11b7ca的对象(blobs,树和提交)将存储在

.git/objects/81/0cae53e0f622d6804f063c04a83dbc3a11b7ca

(将前两个字符分开以提高文件系统的性能,因为现在不是所有对象都存储在同一个目录中)

按上述方式存储的对象称为松散对象。

当你开始回购时,你大多有松散的对象。当数量增加时,效率就会降低,它们被存储在包文件中。这样的对象称为打包对象。

 git gc

是你用来打包对象的(通常不需要的松散对象和几周前的对象也会被删除,通过--prune=<date>选项,你可以强制删除不再需要的松散对象。比如当你修改commit时。旧的提交对象不再需要。)