提问人:sashoalm 提问时间:1/30/2014 更新时间:11/14/2019 访问量:31197
Git Gui:永远得到“这个仓库目前大约有 320 个松散的对象”。
Git Gui: Perpetually getting "This repository currently has approximately 320 loose objects."
问:
每次我在特定项目上启动 Git Gui 时,我都会收到以下消息:
此存储库当前大约有 320 个松散对象。
然后,我继续单击“是”,并显示以下对话框:
问题是,当我再次打开 Git Gui 时,我收到完全相同的消息,同样是大约 320 个松散的对象!就好像单击“是”根本没有效果一样。
答:
109赞
Greg Burghardt
1/30/2014
#1
只是简单地跳过弹出窗口,正如运行“git gui”时如何跳过“松散对象”弹出窗口所建议的那样,在接受的答案中忽略了 Git 正在向您传达可能的性能问题这一事实。这应该可以通过从命令行运行以下命令来修复:
cd path/to/your/git/repo
git gc --aggressive
从输出:git help gc
在当前存储库中运行许多内务处理任务,例如压缩文件修订(以减少磁盘空间并提高性能)和删除可能无法访问的对象,这些对象可能是从先前的 git add 调用中创建的。
建议用户在每个存储库中定期运行此任务,以保持良好的磁盘空间利用率和良好的操作性能。
--积极
通常 git gc 运行速度非常快,同时提供良好的磁盘空间利用率和性能。此选项将导致 git gc 更积极地优化存储库,但代价是花费更多时间。这种优化的效果是持久的,所以这个选项只需要偶尔使用;每隔几百个变更集左右。
这应该可以防止提示在一段时间内弹出。
评论
27赞
sashoalm
1/30/2014
奇怪的是,简单地从命令行运行就为我解决了这个问题。可能运行类似:)git gc
git gui
git gc --extra-unaggressive
2赞
sashoalm
1/31/2014
似乎 git gui 调用"C:\Program Files\Git\bin\sh.exe" "C:/Program Files/Git/libexec/git-core/git-repack" -a -d -l
42赞
Mahn
2/24/2015
git prune
似乎在不修复它时修复了它。git gc
3赞
Jeff Clites
7/9/2015
你通常不想和 ;这会导致重新计算增量,这通常是非生产性且非常耗时的;看到这个帖子 - 该页面具有误导性。在这种情况下,可能只是简单就足够了。--aggressive
git
man
git gc
18赞
daw
10/15/2016
不得不用来摆脱消息。无论是在命令行上还是在选项上,也没有做伎俩。--prune=all
git gc
--aggressive
--prune
11赞
AdvenC
11/14/2019
#2
我使用命令:
git gc --prune=现在
完成后不再有太多松散的物体警告。
参考来源:https://git-scm.com/docs/git-gc
评论
4赞
saeraphin
10/7/2020
不得不说,这是对我有用的解决方案。奇怪的是,没有删除警告(单击UI也没有,它似乎执行了一个简单的)。git gc --aggressive
git gc
评论
git count-objects -v
git gc