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

时间:2015-02-20 16:42:52

标签: git background-process packing

注意:我认为这是this question的副本,它正在讨论挂起<的非背景包/ em> git 带有略有不同的错误消息


在我的一个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。

1 个答案:

答案 0 :(得分:134)

我从你提供的第二条评论中找到了解决方案,Trengot,谢谢。事实证明,我有一些悬挂的斑点,它们在.git/objects/17,因此触发了包装:

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

这清理了它们:

$ git gc --prune=now

请注意,根据Henrik在下面的评论,这可能有点危险。小心!