web-dev-qa-db-ja.com

なぜgitが「最適なパフォーマンスを得るためにバックグラウンドでリポジトリを自動でパックする」と言ってくれるのですか?

:Ido n'tこれは重複していると思います- この質問hangsgitwith微妙に異なるエラーメッセージ


私の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 Pushgit pullなどの他のネットワーク操作でも発生するようです。

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

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

$ git --version 
git version 2.0.1

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

81
Andrew Ferrier

2つ目のコメント、Trengot、ありがとうから解決策を見つけました。ぶら下がった塊がいくつかあり、それが.git/objects/17したがって、パッキングをトリガーします。

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

これはそれらをクリーンアップしました:

$ git gc --Prune=now

以下のHenrikのコメントによると、これは少し危険かもしれないことに注意してください。気を付けて!

140
Andrew Ferrier