每次我在特定项目上启动Git Gui时,都会收到这条消息:
此仓库当前有大约320个松散的对象。
然后,我点击Yes,接下来会出现这个对话框:
正如如何跳过运行“git gui”时的“Loose Object”弹窗中被接受的答案所建议的那样,简单地跳过弹窗忽略了Git正在向您传达可能存在的性能问题。这可以通过从命令行运行以下命令来修复:
cd path/to/your/git/repo
git gc --aggressive
根据git help gc
的输出:
运行一些仓库内的日常维护任务,例如压缩文件修订(以减少磁盘空间并提高性能)和删除从之前调用git add而可能创建的无法访问的对象。
鼓励用户定期在每个仓库中运行此任务,以维护良好的磁盘空间利用率和操作性能。
--aggressive
通常情况下,git gc 运行非常快,并提供良好的磁盘空间利用率和性能。但启用此选项将导致git gc更积极地优化仓库,代价是花费更多时间。此优化的效果是持久的,因此这个选项只需要偶尔使用;每隔几百个变更集左右。
这应该可以让提示窗口暂时不再弹出。
"C:\Program Files\Git\bin\sh.exe" "C:/Program Files/Git/libexec/git-core/git-repack" -a -d -l
。 - sashoalmgit gc
无法解决问题时,似乎 git prune
可以解决。 - Mahngit
重新计算增量,这通常是无效且非常耗时的。请参见此文章——man
页面是误导性的。在这种情况下,可能只需要使用普通的git gc
命令就足够了。 - Jeff Clites
git count-objects -v
的输出吗? - CB Baileygit gc
对我很有效。 - sashoalm