Я использовал git для управления версиями, и мне это очень нравится. Поэтому я начал исследовать с помощью git для хранения большого количества больших двоичных файлов, которые я нахожу просто не чашкой чая git. Итак, как насчет больших текстовых файлов? Похоже, что git должен обрабатывать их просто отлично, но у меня также проблемы с этим.
Я тестирую это, используя текстовый файл стиля mbox размером 550 МБ. я git init сделал новый репо, чтобы сделать это. Вот мои результаты:
- git add и git commit - общий размер репо 306mb - репо содержит один объект размером 306 МБ
- добавить одно письмо в файл почтового ящика и git commit - общий размер репо - 611mb - репо содержит два объекта размером 306 МБ
- добавить еще одно письмо в файл почтового ящика и git commit - общий размер репо - 917mb - репо содержит три объекта размером 306 МБ
Таким образом, каждая фиксация добавляет новую копию файла почтового ящика в репо. Теперь я хочу попытаться получить размер репо до чего-то управляемого. Вот мои результаты:
- git repack -adf - общий размер репо - 877mb - repo содержит один файл пакета размером 876 МБ.
- git gc --aggressive - общий размер репо - 877mb - репо содержит один файл пакета размером 876 МБ.
Я ожидаю, что смогу получить репо в размере около 306 МБ, но я не могу понять, как это сделать. Все, что больше похоже, похоже на то, что хранится много дублирующихся данных.
Я надеюсь, что репо увеличится только на размер нового полученного письма, а не на размер всего почтового ящика. Я не пытаюсь управлять электронной почтой по электронной почте здесь, но это, похоже, является моим большим удержанием от использования ночной script для постепенного резервного копирования домашних каталогов пользователей.
Любые советы о том, как сохранить размер репо от взрыва при вставке небольшого количества текста в конец очень большого текстового файла?
Я просмотрел bup и git приложение, но мне бы очень хотелось придерживаться простого старого git если возможно.
Благодарим за помощь!