Короткая версия: это означает, что он говорит, и если вы просто дадите ему закончить, все будет хорошо.
Во время большинства операций, которые могут потенциально увеличить количество незакрепленных (распакованных) объектов в хранилище (включая нажатия), Git вызывает git gc --auto
.Если свободных объектов достаточно (по умолчанию не менее 6700), он вызовет git repack -d -l
для их упаковки.Если существует слишком много отдельных пакетов, он также упакует их в один.
Пакет представляет собой отдельный файл с дельта-сжатием, содержащий большое количество объектов.Более эффективно хранить объекты в пакетах, но для упаковки (сжатия) объектов требуется время, поэтому Git сначала создает незакрепленные объекты, а затем упаковывает их порциями, а затем автоматически вызывает git gc --auto
.
Если вы позволите Git закончить переупаковку, это не повторится некоторое время. Это может действительно занять некоторое время, особенно если у вас много больших двоичных объектов, но если он запускается, то это знакчто это, вероятно, значительно сократит объем дискового пространства, занимаемого репо.Если вы действительно не хотите, чтобы это произошло, вы можете изменить параметр конфигурации gc.auto
.Если вы увеличите его до чего-то намного большего, чем 6700, это будет происходить реже, но это займет больше времени.Если вы уменьшите его, вам все равно придется выполнить текущий перепак, но впоследствии это будет происходить чаще и быстрее заканчиваться.Если вы установите значение 0, автоматическая перепаковка будет отключена.
См. man git-gc
(под --auto
) и man git-config
(под gc.auto
) для получения дополнительной информации.