Я не могу убрать мерзавец. Если я пытаюсь, я получаю это сообщение об ошибке:
$ git gc
Counting objects: 8828, done.
fatal: Cannot handle files this big
error: failed to run repack
Если я займусь этим, то получу буквально только 2 результата: этот вопрос и сообщение об ошибке в виде записи, которая была отправлена через 2 минуты после того, как я впервые разместил этот вопрос здесь. Так что, похоже, ни у кого больше нет проблемы.
Конечно, файл git объемом 4,8 ГБ отслеживается с помощью git, а git занимает от 8 до 9 ГБ виртуального ОЗУ на моем ноутбуке при запуске git gc
, а у моего raspi всего 1 ГБ физического ОЗУ. Тем не менее, он обычно имеет своп 1 ГиБ, и я просто добавил своп 30 ГиБ, чтобы выполнить эту операцию. Так что должно быть достаточно барана.
К сожалению, сообщение об ошибке не содержит причину, по которой команда очистки не может обрабатывать файлы такого большого размера. Так что я не знаю, что является ограничивающим свойством моей системы.
В чем проблема и можно ли сделать очистку на Raspberry Pi? (Перенос его на настольный компьютер не кажется мне хорошим решением.)
На самом деле я планировал очистить репо с помощью моего raspi, потому что он работает в любом случае, и таким образом мне может не потребоваться, чтобы мой компьютер работал часами.
Я думал, что, возможно, клонирование репо приведет к очищенному репо. Тем не менее, я получаю этот вывод:
$ git clone ../Documents
Cloning into 'Documents'...
done.
fatal: Cannot handle files this big
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'
Тем не менее, добавление --bare
к команде clone возвращает мгновенно без ошибок. (Возможно, происходит какое-то волшебство ext4, поэтому файлы копируются при записи.) Излишне говорить, что уборка не происходила. Но это может содержать подсказку, поэтому я дам вам знать об этом.