特定のプロジェクトでGitGuiを起動するたびに、次のメッセージが表示されます。
このリポジトリには現在、約320個のルーズオブジェクトがあります。
次に、[はい]をクリックすると、次のダイアログが表示されます。
問題は、Git Guiをもう一度開くと、まったく同じメッセージが表示されます。これも約320個のルーズオブジェクトです。[はい]をクリックしてもまったく効果がなかったかのようです。
特定のプロジェクトでGitGuiを起動するたびに、次のメッセージが表示されます。
このリポジトリには現在、約320個のルーズオブジェクトがあります。
次に、[はい]をクリックすると、次のダイアログが表示されます。
問題は、Git Guiをもう一度開くと、まったく同じメッセージが表示されます。これも約320個のルーズオブジェクトです。[はい]をクリックしてもまったく効果がなかったかのようです。
回答:
'git gui'を実行しているときに「LooseObject」ポップアップをスキップする方法が受け入れられた答えで示唆しているように、単にポップアップをスキップするだけで、Gitがパフォーマンスの問題の可能性をあなたに伝えているという事実を見落としています。これは、コマンドラインから次のコマンドを実行することで修正できるはずです。
cd path/to/your/git/repo
git gc --aggressive
の出力からgit help gc
:
ファイルリビジョンの圧縮(ディスク容量を減らしてパフォーマンスを向上させるため)や、以前のgit addの呼び出しから作成された可能性のある到達不能オブジェクトの削除など、現在のリポジトリ内で多数のハウスキーピングタスクを実行します。
ユーザーは、各リポジトリ内でこのタスクを定期的に実行して、良好なディスクスペース使用率と良好な動作パフォーマンスを維持することをお勧めします。
-攻撃的
通常、git gcは非常に高速に実行され、ディスクスペースの使用率とパフォーマンスは良好です。このオプションを使用すると、git gcはリポジトリをより積極的に最適化できますが、時間がかかります。この最適化の効果は永続的であるため、このオプションはたまにしか使用する必要がありません。数百のチェンジセットごとかそこら。
これにより、プロンプトがしばらく表示されなくなります。
git gc
、コマンドラインから実行するだけで修正されました。かもしれgit gui
などの実行に何かgit gc --extra-unaggressive
:)
git prune
そうでgit gc
ないときにそれを修正するようです。
--aggressive
;で実行することは望ましくありません。これによりgit
、デルタが再計算されますが、これは通常、非生産的で非常に時間がかかります。参照この記事--theman
ページが誤解されています。git gc
この場合、おそらく単純なもので十分です。
--prune=all
メッセージを取り除くために使用しなければなりませんでした。どちらもgit gc
コマンドラインでもオプションの--aggressive
か--prune
トリックをしました。
私はコマンドを使用します:
git gc --prune = now
完了後、緩いオブジェクトの警告が多すぎることはありません。
git gc --aggressive
警告を削除しませんでした(また、UIをクリックすることもしませんでしたgit gc
。これは単純な実行のようです)。
git count-objects -v
か?