Уменьшение размера git-репо в результате удаления удаленных файлов - PullRequest
2 голосов
/ 05 июня 2011

За всю историю моего git-репо в него было добавлено много медиафайлов. Теперь эти медиа-файлы были удалены.

Однако я подозреваю, что хранилище хранит информацию об этих медиа-файлах в архиве хранилища, так как размер моего хранилища составляет 400 МБ.

Я читал о командах очистки, таких как git-gc --aggressive, но я не думаю, что это позволяет мне напрямую "забыть" эти старые медиа-файлы.

P.S. - эти медиафайлы в то время были частью репозитория SVN, и с тех пор я использовал git-svn для конвертации репозитория в git.

1 Ответ

2 голосов
/ 05 июня 2011

Если они являются частью какой-либо из истории ваших веток, тогда git должен хранить содержимое этих файлов, иначе у вас будет неполная история.

Единственный способ полностью удалить их - переписатьисторию этих веток и удалите их из коммитов, где они были добавлены и далее, пока они не будут удалены.

Мой первоначальный совет - не беспокоиться о них.Теперь они никогда не изменятся, так что, кроме исходного клона и размера хранилища, они не будут влиять на производительность на кончиках текущих веток.

Если вы решили переписать свойИстория репозитория, вероятно, вам нужно посмотреть на что-то вроде git filter-branch с --index-filter или --tree-filter.

Обратите внимание, что любой, у кого активная работа построена на текущем репозитории с активной работой, будетнужно быть осторожным, чтобы выполнить соответствующую операцию перебазирования или рискнуть слить все старые коммиты и вернуть объекты, от которых вы пытаетесь избавиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...