Бывает так, что случайно с коммитом опубликовали то, что совсем не следовало. Например это могут быть пароли в каком нибудь конфиг файле и прочие конфиденциальности. Вообще для подобного существует файл .gitignore где прописываются исключения. Но что делать, если «страшное» уже случилось и ненужные данные опубликованы и коммит нужно удалить из github?
git reset --hard commit_id
данной командой удаляем всю историю до коммита с указанным commit_id — им будет предыдущий тому который нужно удалить. И выполняем:
git push --force