リモートリポジトリで gc コマンドを自動的に実行することを git が拒否しているようです。約 1 か月で、そのリポジトリは .pack ファイルのために約 6GB に拡大します。これは変数 gc.auto に問題があると思います - リモートリポジトリでこの変数を設定するにはどうすればよいですか、またはそのリポジトリで手動で git-gc コマンドを実行するにはどうすればよいですか?
2 に答える
注: リポジトリにパック ファイルが 1 つしかない場合、 は で再パックしないgit gc
でください。それでもそうでした。
つまり、Git 2.10 (2016 年第 3 四半期) まではそうでした。git config gc.autoPackLimit 1
Eric Wong ( )によるcommit 5f4e3bf (2016 年 6 月 25 日)を参照してください。( 2016 年 7 月 13 日、コミット 97865e8でJunio C Hamanoによってマージされました)ele828
gitster
gc
: off-by-one エラーを修正gc.autoPackLimit
これはドキュメントと一致し、 " " 呼び出しgc.autoPackLimit=1
のたびに再パックを試みることなく単一のパックを維持できます。git gc --auto
"
gc.autoPackLimit
" が 1 に設定されている場合、パックが 1 つしかないときに再パックをトリガーするべきではありませんが、コードのカウントが不十分であり、再パックがトリガーされました。
リモートリポジトリがホストされているボックスにログインしてから、単に入力する必要があります
git gc
コマンドラインで。
についてgc.auto
:ドキュメントは言う:
gc.auto
リポジトリにこれより多くのルース オブジェクトがある場合、git gc --auto はそれらをパックします。一部の磁器コマンドは、このコマンドを使用して軽量のガベージ コレクションを時々実行します。デフォルト値は 6700 です。これを 0 に設定すると無効になります。
.pack
ただし、ファイルについて話している。それを扱う別のオプションがあるようです:
gc.autopacklimit
リポジトリに *.keep ファイルでマークされていないパックがこれより多くある場合、git gc --auto はそれらを 1 つの大きなパックに統合します。デフォルト値は 50 です。これを 0 に設定すると無効になります。
gc.autopacklimit
サイズではなく、パックの数で機能することに注意してください。たぶん、これらを使用して動作を微調整できますgc
...