なぜgitが「最適なパフォーマンスのためにバックグラウンドでリポジトリを自動パッキングする」ことを通知し続けるのですか?


100

:これはこの質問の複製ではないと思います。これは、微妙に異なるエラーメッセージで git をハングさせる非バックグラウンドパックについて話しているものです


私のgitリポジトリの1つで、(たとえば)を呼び出すたびにgit fetch、gitは次のように出力します。

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

git fetch変更がなく、何もする必要がない場合でも、繰り返し実行すると、毎回このように表示さgit fetchれます。これは私にはあまり意味がありません。git pushおよびなどの他のネットワーク操作でも発生するようgit pullです。

コマンドは即座にプロンプ​​トに戻り、それ以上の出力はありません。マシンで実行されているgitプロセスを見つけることができません。このリポジトリでのみ発生し、このマシンでのみ発生するようです。git config -l | grep gc何も返しません。

この問題を診断または修正するにはどうすればよいですか?

$ git --version 
git version 2.0.1

OS X 10.9を使用しています。


リンクした質問と同じ問題のようですが、ハングアップしていないように見えるほどの速さで発生しています。
Holloway、


トレンゴ、私はそうは思いません。エラーメッセージは微妙に異なります-「背景」について言及しています。
Andrew Ferrier、

トレンゴット、申し訳ありませんが、あなたは正しかった、それは関連していた(2番目のリンク)。ポインタをありがとう、詳細は以下の私の答えを見てください。
Andrew Ferrier、

回答:


167

私はあなたが提供した2番目のコメントTrengotから解決策を見つけました、ありがとう。ぶら下がっているblobがいくつかあることがわかりました。これ.git/objects/17により、パッキングがトリガーされました。

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

これできれいになりました:

$ git gc --prune=now

以下のヘンリックのコメントに従って、これは少し危険かもしれません。気を付けて!


19
ありがとう!これは私にはうまくいったようです。これ--prune=nowは少し危険です。デフォルトで--pruneは、2週間のぶら下がっているblobが保持されます。つまり、誤って5分前に誤ったリベースを行った場合、または昨日ブランチを削除した場合、回復できます。このコマンドを実行すると、2週間前ではなく、現在まですべてのぶら下がりブログが失われます。また、それはそうです、あなたがそれを実行してはならないように、別の端末では、他のGitのコマンドを実行している間、またはあなたのレポが破損することができます。
Henrik N

3
あなたは私の日を救った
オーウェン・チェン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.