Git Gui:永远得到"这个存储库目前有大约320个松散的对象."

sas*_*alm 73 git git-gui

每次我在特定项目上启动Git Gui时都会收到以下消息:

该存储库目前有大约320个松散对象.

在此输入图像描述

然后我继续单击,我得到这个对话框:

在此输入图像描述

问题是,当我再次打开Git Gui时,我得到了完全相同的消息,同样是32​​0个松散的物体!就像点击没有任何效果一样.

Gre*_*rdt 62

只是简单地跳过弹出窗口,如何在运行'git gui'时跳过"松散对象"弹出窗口,在接受的答案中建议忽略了Git正在向您传达可能的性能问题的事实.这应该可以通过从命令行运行此命令来修复:

cd path/to/your/git/repo
git gc --aggressive
Run Code Online (Sandbox Code Playgroud)

从输出git help gc:

在当前存储库中运行许多内务处理任务,例如压缩文件修订(以减少磁盘空间并提高性能)以及删除可能已从先前调用git add创建的无法访问的对象.

建议用户定期在每个存储库中运行此任务,以保持良好的磁盘空间利用率和良好的运行性能.

--aggressive

通常git gc运行速度非常快,同时提供良好的磁盘空间利用率和性能.此选项将导致git gc更积极地优化存储库,但代价是花费更多时间.这种优化的效果是持久的,所以这个选项只需要偶尔使用; 每几百个变更集左右.

这应该会使提示不会弹出一段时间.

  • 当`git gc`没有时,`git prune`似乎解决了这个问题. (32认同)
  • 奇怪的是,只需从命令行运行`git gc`就可以为我修复它.可能是`git gui`运行类似`git gc --extra-unaggressive` :) (13认同)
  • 不得不使用`--prune = all`来摆脱这个消息.命令行上的`git gc`和`-aggressive`或`--prune`选项都没有. (12认同)
  • 看来 git gui 调用 `"C:\Program Files\Git\bin\sh.exe" "C:/Program Files/Git/libexec/git-core/git-repack" -a -d -l` (2认同)
  • 你通常不想使用 `--aggressive` 运行;这会导致 `git` 重新计算增量,这通常是低效且非常耗时的;请参阅 [这篇文章](https://metalinguist.wordpress.com/2007/12/06/)--“手册”页面具有误导性。在这种情况下,可能只是简单的 `git gc` 就足够了。 (2认同)
  • 事实上,在 git gui 的弹出窗口上单击“是”并没有真正解决问题,这似乎是一个错误。有没有地方可以输入 git gui 的错误报告? (2认同)

小智 13

我使用命令:

git gc --prune=现在

完成后不再有太多松散物体警告。

参考来源: https: //git-scm.com/docs/git-gc

  • 不得不说这是对我有用的解决方案。奇怪的是,“git gc --aggressive”并没有删除警告(点击 UI 也没有删除,这似乎执行了一个简单的“git gc”)。 (4认同)