Как я могу полностью удалить файл из репозитория мерзавца?

Я недавно заметил, что файлы проекта мое использование текстовых редакторов (наряду с некоторым другим спамом) были добавлены репозиторий мерзавца для проекта. Так как они не на самом деле часть проекта, я хотел бы удалить их, но git rmне удаляет старые версии из репозитория, и я не мог найти ничто больше, что выглядит многообещающим.

73
задан David X 11 August 2010 в 13:21
поделиться

1 ответ

Вам нужен инструмент git filter-branch . Его использование описано здесь , но в основном:

$ git filter-branch --tree-filter 'rm -f my_file' HEAD

удаляет my_file из при каждой фиксации.

Обратите внимание, что это перезаписывает каждую фиксацию, поэтому, если вы нажимаете в удаленный репозиторий, вы должны (а) принудительно обновить и (б) у всех, кто извлек от вас, теперь будут дублирующиеся коммиты (так как вы переписали историю ), как описано на странице руководства git rebase .

133
ответ дан 24 November 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: