Как отменить последние коммиты git?

Рейтинг: 3Ответов: 2Опубликовано: 28.02.2015

Как можно отменить последние 5 коммитов в git?

Схема работы такая:
В phpstorm сделал 5 коммитов на бедро, затем push, после чего на стороне сервера стянул эти изменения в проекте и все побилось. Как на стороне сервера отменить последние 5 pulls?

Ответы

▲ 3Принят

Я так понимаю, вам на стороне сервера нужно не только файлы откатить, но и сам репозиторий. Поэтому приемлем такой вариант.

# выполняем на локальном репозитории
# стоит создать ветку-бэкап для неудачных коммитов
git branch backup
git reset --hard HEAD~5
# и теперь push --force
git push --force origin mybranch

#потом на сервере приводим файлы в соответствие с последним коммитом
git reset --hard

Более общий вопрос и ответ: Как вернуться (откатиться) к более раннему коммиту?

▲ 6
git reset --hard HEAD~5

Я надеюсь, что правильно понял, что нужно отменить 5 коммитов, а не "5 pulls". Посмотрите внимательно, возможно, что придётся откатить ещё merge commit.

Разделяйте систему контроля версий и деплой. Почитайте про capistrano.