Dmi*_*lya 13 git git-fetch git-gc
在某个时刻使用远程存储库时,我在运行时开始收到此消息git fetch origin
在后台自动打包存储库以获得最佳性能。
请参阅“git help gc”以了解手动内务管理。
警告:上次 gc 运行报告以下内容。请更正根本原因并删除 .git/gc.log。
在删除文件之前,不会执行自动清理。
警告:有太多无法触及的松散物体;运行“git prune”来删除它们。
这事儿常常发生。我找到了应该有帮助的地方git gc
,但它只工作一次(或似乎工作) - 在此之后和之后git fetch origin
我得到
在后台自动打包存储库以获得最佳性能。请参阅“git help gc”以了解手动内务管理。
后来情况又重复了。我还尝试删除 .git/gc.log - 它没有帮助。
我的 git 技能确实有限。为什么我会收到此警告以及如何长期解决该问题?
小智 25
这篇文章帮助了我——
git fsck
git gc --prune=now
git prune
git gc
Run Code Online (Sandbox Code Playgroud)
并且错误应该消失。
参考 - https://medium.com/lynns-dev-blog/git-there-are-too-many-unreachable-loose-objects-c2df601b8001
这个特定问题是由于 Git 中的一个错误(在 2.20.0 中首次应用了修复:请参阅commit3029970275b473dbf62149887a19a6b4879528d7
,它对正在发生的事情有很好的描述,但另请参阅commit095c741edd1d9604b6c285000a836721fd69f051
,它具有贡献作用并已在git 2.17)。如果您使用的是有缺陷的 Git 版本,随着时间的推移,它会累积太多松散的对象。1 您可以而且应该将您的 Git 版本升级到不会让这些对象累积得如此严重的版本,但现在,当您不对存储库执行任何其他操作时,git prune
只需继续手动运行即可。然后在修剪完成后手动运行。您可能也需要跑步。git gc
rm .git/gc.log
(这个问题会时不时地出现,直到 Git 升级为止。)
“松动”的物体是正常的。它们的对立面是“打包”对象,存储效率更高。通常git gc
会时不时地自动运行,并注意到何时适合打包松散的物品。包装过于频繁会降低效率;包装不够频繁会降低效率;git gc
应该找出合适的时间。但某些 Git 版本在一段时间内出现了这种情况,导致了您所观察到的问题。
这不是一个大问题:它只是意味着 Git 的效率(运行速度更慢)比它没有被破坏的情况要低。
归档时间: |
|
查看次数: |
13518 次 |
最近记录: |