为什么 git 一直告诉我它是“自动在后台打包存储库以获得最佳性能”?

注意 : I 不要认为这是 这个问题的一个副本,它谈论的是一个非背景包 挂起来 git with a subtly different error message


在我的一个 git 存储库中,每次调用(例如) git fetch,git 都会打印:

Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.

它似乎打印这每次如果我做一个 git fetch重复,即使没有改变,也没有为 git fetch做什么。这对我来说没什么意义。这种情况似乎也发生在其他网络操作上,如 git pushgit pull

该命令立即返回到提示符,没有进一步的输出,而且我找不到在我的机器上运行的任何 git 进程。这似乎只发生在这个存储库中,而且只发生在这台机器上。git config -l | grep gc不返回任何值。

我可以做些什么来诊断或修复这个问题?

$ git --version
git version 2.0.1

我使用的是 OS X 10.9。

47532 次浏览

我从你提供的第二条评论中找到了解决办法,特伦戈特,谢谢。原来,我有一些悬空的气泡,它们在 .git/objects/17中,因此触发了包装:

$ git fsck
dangling blob d9ff0aeac4aa8b4e0907daed675ebf60278bc977
dangling blob dbff2d073741f9775c815d4a3c623736af224dad
dangling blob e1ffbab1c5b985cd1cd3bc0281075ea2ed80744a
dangling blob fdff59878ccb3a75689f4acca615cfb635288774

这让他们清醒过来:

$ git gc --prune=now

请注意,根据亨里克在下面的评论,这可能有点危险。保重!