git - Git GUI 引用的 "loose objects"是什么?

标签 git

当我打开 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/

相关文章:

node.js - 超音速框架中的项目创建错误

git - 保持 .git 尽可能小

git - 如何强制重新解密我的本地 transcrypt 对象?

git - 打印 HEAD 的符号名称

eclipse - 为什么 EGit 在新克隆的存储库中显示未暂存的更改?

git - 来自 git 状态的 "fatal: Not a git repository (or any of the parent directories)"

git - 2-版本软件 : Best VCS approach?

使用用户名和密码进行 Git 获取

git - Subgit - 停止属性同步

git - 在git中删除和创建文件以及文件历史记录: possible bug?