Я недавно заметил, что файлы проекта мое использование текстовых редакторов (наряду с некоторым другим спамом) были добавлены репозиторий мерзавца для проекта. Так как они не на самом деле часть проекта, я хотел бы удалить их, но git rm
не удаляет старые версии из репозитория, и я не мог найти ничто больше, что выглядит многообещающим.
Вам нужен инструмент git filter-branch
. Его использование описано здесь , но в основном:
$ git filter-branch --tree-filter 'rm -f my_file' HEAD
удаляет my_file из при каждой фиксации.
Обратите внимание, что это перезаписывает каждую фиксацию, поэтому, если вы нажимаете в удаленный репозиторий, вы должны (а) принудительно обновить и (б) у всех, кто извлек от вас, теперь будут дублирующиеся коммиты (так как вы переписали историю ), как описано на странице руководства git rebase
.