Как удалить историю коммитов на github

случайно слил API ключ в файле и запушил на гитхаб, потом заметил и удалил. в историях коммита он теперь все равно виден. как убрать?


Ответы (2 шт):

Автор решения: HolyBlackCat

Если это последний коммит в истории, то git reset --hard коммит на предыдущий коммит, а потом git push --force.

Если после него уже накопились полезные коммиты, то git rebase --interactive коммит на последний хороший коммит перед залитием ключа (или раньше). Откроется текстовый редактор, в котором можно закомментировать плохой коммит. После выхода из редактора он пропадет из истории. Затем тот же git push --force чтобы залить изменения.


Но согласен с комментом @aleksandr barakin, что ключ лучше поменять.

→ Ссылка
Автор решения: Ben Puls

Сам GitHub рекомендует использовать следующие 2 программы для очистки истории коммитов:

Когда у меня была такая проблема, мне помогла именно первая программа. У неё простая документация и она быстрее аналога в несколько раз.

Например, так вы можете полностью заменить текст вашего файла в истории коммитов:

bfg --replace-text passwords.txt

Затем пушим коммит:

git push --force

После проделанных операций рекомендую на всякий случай составить обращение (желательно на английском языке) в поддержку GitHub. Они достаточно спокойно реагируют на данные обращения и помогают "зачистить" остатки, если, например, произошло слияние через Pull Request.

→ Ссылка