Я случайно добавил db дамп (более 1 ГБ) к моему репо, подтолкнул его и заметил это через несколько дней. Я использовал git фильтр-ветвь, чтобы удалить файл, истек reflog и запустить git gc, чтобы обрезать неиспользуемые объекты, но блок базы данных дампа все еще находится в режиме репо. Я использовал Которое сообщение имеет этот blob?, но нашел какое-либо коммит, у которого есть ссылка на blob. Как я могу удалить это или как узнать, почему он не удалился во время git gc?
Как удалить blob из git repo
Ответ 1
Какую команду вы назвали точно при запуске git gc?
Обратите внимание на man-страницу git gc:
Необязательная конфигурируемая переменная gc.pruneExpire управляет тем, насколько старыми незакрепленными потерянными объектами должны быть до того, как они будут обрезаны. По умолчанию "2 недели назад"
Итак, если ваш блоб моложе 14 дней, вам нужно позвонить
git gc --prune=<date> (for date you also can insert now)
Ответ 2
Разве вы не можете сделать rm .git/objects/path/to/blob
?
Я не уверен, почему git-gc
не удалял его.