4

私のgitリポジトリ(私は思う?)がガベージコレクションが必要であると判断するという問題が繰り返し発生します。このプロセスには 30 分以上かかり、プル/プッシュ操作のたびにトリガーされます。

Git GC を手動で実行するには 30 分かかりますが、問題は解決していないようです。私が見つけた唯一の解決策は、レポを削除して新しいクローンを作成することですが、これはさまざまな理由で最適ではありません。

git GC 操作で git にいくつかのメモリ制限を設定して、git GC 操作でクラッシュしないようにしたため、私の git GC 操作が遅くなることがあります。

どんな助けでも大歓迎です。これは大規模なレポであり、レポには大量のバイナリ データと、非常に大きな (>500k) テキスト ファイルが多数含まれています。

1. Git がガベージ コレクションを決定する量を制限するにはどうすればよいですか。2. GC 操作を高速化するにはどうすればよいですか? 3. 関連するより大きな問題を解決または最小限に抑えるにはどうすればよいですか (つまり、そもそもなぜガベージ コレクションが必要なのか)。

4

2 に答える 2

2

これを回避する唯一の現実的な方法は、リポジトリのサイズを縮小することです。を使用して自動ガベージ コレクションを無効にすることもできますがgit config --global gc.auto 0、プッシュとプルが機能している場合でもネットワーク トラフィックが増加し、git に使用されるローカル ディスク容量が増加します。がないgit gcと、変更したすべてのファイルのすべてのリビジョンの完全なコピーがローカル リポジトリに含まれます。git gcただし、外出中に毎晩走るなどのことを行うと、それが実現可能になる場合があります。

あなたのような状況のために設計されたgit annexのようなものを調べることをお勧めします。基本的に、ファイル自体ではなく、大きなファイルへのポインターをリポジトリに保存します。

于 2012-12-17T19:07:15.960 に答える