LINUX.ORG.RU

удаление файла из git репозитория

 


1

2

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

Теперь хочу удалить этот файл из репозитория. Нашел в инете следующую комадну:

git filter-branch --index-filter "git rm --cached --ignore-unmatch 'path to file for delete'" --prune-empty HEAD

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

У меня удаляемый файл содержит пробелы, я его заключил в команде в одинарные ковычки. Может по этому, может по другой причине, но что-то не сработало. Может кто подсказать как правильно сделать команду?

как правильно сделать команду?

Запуши в форсе, после чего склонируй. Сразу усё поменяется.

anonymous
()
Ответ на: комментарий от anonymous

Запуши в форсе, после чего склонируй. Сразу усё поменяется.

Только если у репозитория один комиттер. Иначе ТСа будут бить, возможно даже ногами. Может быть, даже по голове.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Иначе ТСа будут бить

Если бы было кому бить, давно бы уже «отлучили».

anonymous
()

а в результате размер папки .git не изменился.

https://git-scm.com/docs/git-filter-branch/2.29.2#_checklist_for_shrinking_a_repository

git не удаляет удалённые объекты сразу, а оставляет их на какое-то время, обычно на две недели. На случай, если ты передумаешь и захочешь их восстановить. Чтобы удалить все такие объекты, запусти git gc --prune=now.

im-0
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.