当我打开Git GUI时,我得到一个指向loose objects的弹出消息。我做了git gc,这删除了消息。
loose objects
git gc
什么是loose objects,我怎么能防止这种情况再次发生?
Git Book解释得很好: https://git-scm.com/book/en/v2/Git-Internals-Packfiles < / p >
松散对象是更简单的格式。 它只是被压缩的数据 存储在磁盘上的单个文件中。每一个
带有SHA say - 810cae53e0f622d6804f063c04a83dbc3a11b7ca的对象(blobs,树和提交)将存储在
810cae53e0f622d6804f063c04a83dbc3a11b7ca
.git/objects/81/0cae53e0f622d6804f063c04a83dbc3a11b7ca
(将前两个字符分开以提高文件系统的性能,因为现在不是所有对象都存储在同一个目录中)
按上述方式存储的对象称为松散对象。
当你开始回购时,你大多有松散的对象。当数量增加时,效率就会降低,它们被存储在包文件中。这样的对象称为打包对象。
是你用来打包对象的(通常不需要的松散对象和几周前的对象也会被删除,通过--prune=<date>选项,你可以强制删除不再需要的松散对象。比如当你修改commit时。旧的提交对象不再需要。)
--prune=<date>