当我打开 Git GUI 时,我收到一条 pop 消息,指出 loose objects
。我执行了 git gc
并删除了消息。
什么是松散对象
,我怎样才能防止这种情况再次发生?
最佳答案
具有 SHA 的对象(blob、树和提交)说 - 810cae53e0f622d6804f063c04a83dbc3a11b7ca
将存储在
.git/objects/81/0cae53e0f622d6804f063c04a83dbc3a11b7ca
(拆分前两个字符以提高文件系统的性能,因为现在并非所有对象都存储在同一目录中)
如上存储的对象称为松散对象。
当您开始使用您的代码库时,您的大部分对象都是松散的。随着数字变高,它变得低效,它们被存储在一个包文件中。此类对象称为打包对象。
git gc
是你用来打包对象的东西(通常不需要的和几周前的松散对象也会被删除,使用 --prune=<date>
选项你可以强制删除不再需要的松散对象。就像你修改提交时一样。不再需要旧的提交对象。)
关于git - Git GUI 引用的 "loose objects"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5709687/