Страницы

Поиск по вопросам

среда, 4 декабря 2019 г.

Как удалить файл из истории Git?

#git #git_filter_branch


Не могу полностью удалить файл из истории Git.

Файл - бинарник с русским названием, и так получилось что пришлось чуть исправить
его название - изменить регистр пары букв.
Сделал коммит, залил на GitHub. Теперь и в консоли и в gui git'a "висит" сообщение
что файл со старым названием удален. Удалить через консоль нельзя - файл не существует,
отмена изменений в gui ни к чему не приводит - через несколько секунд сообщение снова
появляется. После новых коммитов ничего не меняется. На диске файла нет. ОС - Win8.

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


Ответы

Ответ 1



В документации GitHub отлично описан этот кейс: https://help.github.com/articles/remove-sensitive-data/ Сначала делаем git filter-branch --force --index-filter \ 'git rm --cached --ignore-unmatch ' \ --prune-empty --tag-name-filter cat -- --all заменяем на название файла который нужно вычистить из репы. Затем: git push origin --force --all git push origin --force --tags

Комментариев нет:

Отправить комментарий