PhpStorm как отменить последние изменения на Git

Admin GIT, Mac OS, Software

Как отменить последний коммит (commit) отправленный (запушенный) в ветку на GitHub. И вернуть все изменения в локальных файлах.

Отмена коммитов через интерфейс

Не понятно почему вокруг GitHub-а такая сложность. В интернете очень много объяснений, но все они достаточно сложны для понимания. Намерен это исправить на простых примерах.

В текущей статье расскажу об отмене сделанного коммита из программы PhpStorm.

Открываем вкладку Version Control, затем переходим во внутреннюю вкладку Log.

Здесь представлены все изменения, которые были совершены с git репозиторием. Находим последний свой коммит, который нужно отменить. Вызываем контекстное меню на этом пункте.

Там представлены разные варианты восстановления. Если нужно отменить изменения и в локальных файлах, то нажимаем на Hard. Иначе Mixed. Если использовать Soft, как рекомендуют во многих местах, то изменения не полностью исчезнут.

После этого на GitHub-е всё еще останется старый вариант коммитов. Для того, чтобы внести изменения в консоль PhpStorm-а надо написать команду:

git push --force

Поздравляю, вы отменили коммент и удалили упоминание о нём. По крайней мере в видимых участках. Теперь можно вздохнуть спокойно.

Лог всех изменений и отправленных файлов можно посмотреть во кладке Log.

Отмена коммитов через командную строку

Удаляем последний коммит и возвращаемся к предыдущему:

git reset --soft HEAD^

Команду выше вводить столько раз, сколько нужно, чтобы удалить до определенного коммита.

Когда дойдете до нужной отмены, отправляем все изменения на мастер:

git push origin +master

Или ветка которая нужна, например stage.

Метки:

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"PhpStorm как отменить последние изменения на Git"