Как отменить последний коммит (commit) отправленный (запушенный) в ветку на GitHub. И вернуть все изменения в локальных файлах.
Отмена коммитов через интерфейс
Не понятно почему вокруг GitHub-а такая сложность. В интернете очень много объяснений, но все они достаточно сложны для понимания. Намерен это исправить на простых примерах.
В текущей статье расскажу об отмене сделанного коммита из программы PhpStorm.
Открываем вкладку Version Control, затем переходим во внутреннюю вкладку Log.
Здесь представлены все изменения, которые были совершены с git репозиторием. Находим последний свой коммит, который нужно отменить. Вызываем контекстное меню на этом пункте.
Там представлены разные варианты восстановления. Если нужно отменить изменения и в локальных файлах, то нажимаем на Hard. Иначе Mixed. Если использовать Soft, как рекомендуют во многих местах, то изменения не полностью исчезнут.
После этого на GitHub-е всё еще останется старый вариант коммитов. Для того, чтобы внести изменения в консоль PhpStorm-а надо написать команду:
Поздравляю, вы отменили коммент и удалили упоминание о нём. По крайней мере в видимых участках. Теперь можно вздохнуть спокойно.
Лог всех изменений и отправленных файлов можно посмотреть во кладке Log.
Отмена коммитов через командную строку
Удаляем последний коммит и возвращаемся к предыдущему:
Команду выше вводить столько раз, сколько нужно, чтобы удалить до определенного коммита.
Когда дойдете до нужной отмены, отправляем все изменения на мастер:
Или ветка которая нужна, например stage.