Удаление файла из истории на сервере GitLab

gitlab-ru

#1

Из-за невнимательности в репозиторий на сервере Gitlab залетела XML на 800 Мб и сильно попортила идеальную картину мира. Очень хотелось бы научиться выпиливать из репозитория такие “лишние” файлы, чтобы их не было ни на сервер, ни в истории локальных клонов.

Сам проблемный репозиторий трогать побоялся, пытаюсь воспроизвести на копии процесс “исправления” серверного репозитория. Пока удалось нагуглить только рекомендации подобные вот этой https://help.github.com/articles/removing-sensitive-data-from-a-repository/

Но данная статья не позволяет решить проблему на сервере. Удаляется история с клиента, папка .git уменьшается в размерах, коммит с файлом (в коммите был только этот файл) исчезает из истории коммитов на сервере. Но размер серверного репозитория не уменьшается, а если посмотреть вкладку активность проекта, то там в истории отображается push с коммитом, в котором большой файл приехал на сервер, и при переходе к коммиту веб-морда позволяет скачать данный файл с сервера.

P.s. gitlab локальный


#2

Запустите housekepping на репозитории.


#3

git push --force --all делали?

Файл удаляли через BFG или руками фильтр-бранчем?


#4

делал - не помогло

тоже делал - коммит из истории коммитов пропал, но через push можно на него выйти и скачать файл

фильтр-бранчем удалял


#5

затрудняюсь сказать, как можно удалить запись из истории пользователя… но можно попробовать еще запустить git gc в bare репозитории на сервере