运行Git fetch origin时出现Git gc和Git prune警告
使用远程存储库时,我在运行git fetch origin时开始收到这个消息 在后台自动打包存储库以获得最佳性能 请参阅“git help gc”了解手动内务管理 警告:上次gc运行报告了以下情况。请纠正根本原因 并删除.git/gc.log 在删除文件之前,不会执行自动清理 警告:有太多无法触及的松散物体;运行“git prune”删除它们 这种情况经常发生。我在某个地方发现了运行Git fetch origin时出现Git gc和Git prune警告,git,git-fetch,git-gc,Git,Git Fetch,Git Gc,使用远程存储库时,我在运行git fetch origin时开始收到这个消息 在后台自动打包存储库以获得最佳性能 请参阅“git help gc”了解手动内务管理 警告:上次gc运行报告了以下情况。请纠正根本原因 并删除.git/gc.log 在删除文件之前,不会执行自动清理 警告:有太多无法触及的松散物体;运行“git prune”删除它们 这种情况经常发生。我在某个地方发现了git-gc应该会有帮助,但它只工作一次(或者似乎工作过一次)——在这之后,我得到了以下git-fetch-origi
git-gc
应该会有帮助,但它只工作一次(或者似乎工作过一次)——在这之后,我得到了以下git-fetch-origin
在后台自动打包存储库以获得最佳性能。
请参阅“git help gc”了解手动内务管理
后来情况又重复了。我还试图删除.git/gc.log-这没有帮助
我的git技能非常有限。为什么我会收到此警告以及如何长期修复此问题?此特定问题是由于Git中的一个bug造成的。如果你有缺陷版本的Git,它会让太多松散的对象随着时间积累。1你可以而且应该将你的Git版本升级到不会让这些对象积累得如此严重的版本,但现在,在你不使用存储库做任何其他事情时,只需继续手动运行
Git prune
。然后在修剪完成后手动运行git gc
。您可能还需要运行rm.git/gc.log
(在Git升级之前,问题会不时出现。)
“松散”的物体是正常的。它们的对立面是“打包”的对象,它们的存储效率更高。通常,
git gc
会不时自动运行,并注意到何时是打包松散对象的好时机。包装过多会降低效率;包装不够频繁会降低效率git gc
应该会找出正确的时间。但是一些Git版本已经中断了一段时间,导致了您所观察到的问题
这不是一个大问题:这只是意味着Git的效率(运行速度)比它要低,如果它没有被破坏的话。你有没有尝试过Git prune或Git gc——激进的?试着按照它说的去做。