Очистка репозитория git от больших файлов

Я передал более 600 больших jpg-файлов в свой репозиторий git и теперь могу увидеть свою ошибку. Я использовал BFG, чтобы удалить их, и мой локальный репозиторий больше не показывает их. Мой локальный графический интерфейс git их не показывает. Если я проверю размер репо в Finder, он покажет 119 МБ.

Но... Размер репо на BitBucket по-прежнему показывает 1,6 Гб. Если я решу загрузить репозиторий с BB, я получу загруженный файл размером 119 МБ. Я также выполнил следующую команду:

while read -r largefile; do echo $largefile | awk '{printf "%s %s ", $1, $3 ; system("git rev-list --all --objects | grep " $1 " | cut -d \" \" -f 2-")}'; done <<< "$(git rev-list --all --objects | awk '{print $1}' | git cat-file --batch-check | sort -k3nr | head -n 20)"

и это показывает целую кучу больших файлов, которые, как я думал, были очищены BFG.

Любые идеи, как я могу это решить. Я не совсем разбираюсь в Git, поэтому, пожалуйста, полегче со мной! :-)


person rctneil    schedule 08.07.2017    source источник


Ответы (1)


Вам действительно не нужно беспокоиться об этом. Убедитесь, что на удаленном сервере нет веток/тегов, в ссылках на которые все еще есть эти файлы. Если это так, то их сборщик мусора должен очистить их через некоторое время.

Я не очень хорошо знаком с BitBucket - попробуйте выяснить, можете ли вы каким-то образом заставить его выполнить проход GC на их стороне, возможно, это уже решает проблему.

person AnoE    schedule 08.07.2017