web-dev-qa-db-ja.com

Git Gui:「このリポジトリには現在約320個のルーズオブジェクトがあります。」

特定のプロジェクトでGit Guiを起動するたびに、次のメッセージが表示されます。

現在、このリポジトリには約320個のルーズオブジェクトがあります。

enter image description here

次にYesをクリックして、このダイアログが表示されます:

enter image description here

問題は、Git Guiをもう一度開くと、まったく同じメッセージが表示される、約320個のオブジェクトが解放されたことです! はいをクリックしてもまったく効果がないようです。

67
sashoalm

「git gui」を実行するときに「Loose Object」ポップアップをスキップする方法 が示すように、単にポップアップをスキップすると、Gitがパフォーマンス問題の可能性を伝えているという事実を見落としていることが示唆されます。これは、コマンドラインから次のコマンドを実行することで修正できるはずです。

cd path/to/your/git/repo
git gc --aggressive

git help gcの出力から:

現在のリポジトリ内で、ファイルリビジョンの圧縮(ディスクスペースの削減とパフォーマンスの向上)や、以前のgit addの呼び出しで作成された到達不能オブジェクトの削除など、多数のハウスキーピングタスクを実行します。

ユーザーは、各リポジトリ内でこのタスクを定期的に実行して、ディスク領域の使用率と動作パフォーマンスを維持することをお勧めします。

-積極的

通常、git gcは非常に高速に実行され、ディスク領域の使用率とパフォーマンスが良好です。このオプションを使用すると、git gcはより多くの時間を費やす代わりにリポジトリをより積極的に最適化します。この最適化の効果は持続的であるため、このオプションを使用する必要があるのは時々です。数百のチェンジセットごとに。

これにより、しばらくの間プロンプトが表示されなくなります。

58
Greg Burghardt