Git: файлы, которые не должны были быть загружены, занимают много места в хранилище. Как убрать? - PullRequest
0 голосов
/ 07 января 2020

Мы случайно поместили лот двоичных файлов (изображений ...) в наш репозиторий BitBucket, в результате чего его размер теперь составляет около 1,5 ГБ. Теперь мы хотим удалить эти файлы так, чтобы они «действительно, действительно исчезли», и размер нашего репо вернулся туда, где и должен быть. git rm сделает это на самом деле или просто сделает файлы недоступными для последующих git pull? Мы хотим полностью удалить эти файлы из репозитория ... "действительно прошло навсегда".

1 Ответ

1 голос
/ 07 января 2020

Чтобы действительно удалить файлы, вы должны стереть их из истории. Это требует переписывания истории. Вы можете использовать git-filter-branch, но гораздо проще использовать BFG Repo Cleaner . Например, чтобы удалить все файлы размером более 100 мегабайт ...

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

Это означает, что этих файлов никогда не было. В истории хранилища их не будет.

Если вы хотите хранить большие файлы, используйте Git Хранилище больших файлов (git-lfs) . Это сохраняет запись больших файлов в истории вашего хранилища, но сами файлы извлекаются по требованию, сохраняя хранилище компактным. А для существующих файлов вы можете использовать BFG для переноса больших файлов в Git LFS .

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