Откат изменений в github с помощью команд GIT.
Если что-то пошло не так, то идем по порядку, от наименьшего (возможного) вреда:
Откатываем ветку
Всегда лучше делать откат с помощью revert merge на самом сайте github.com.
Вносим исправляющий коммит
Если ветка не мерджилась, а изменения были напрямую в мастер, то лучше отправить дополнительный коммит, который исправит положение.
GIT — Soft Reset
Посмотреть референс нужного коммита:
И сделать к нему реверт:
Альтернативный вариант. Мягкий сброс на последний коммит:
Hard Reset
Hard Reset — откатывает последние изменения, которые если не сохранены отдельно, будут потеряны безвозвратно. Самый крайний вариант. Использовать с осторожностью.
Hard Reset может пригодиться когда был реверт пулл реквеста, который снова нужно откатить назад. Такая безумная цепочка приводит к неприятным последствиям, но такое иногда бывает. В этом случае при откате через revert (Soft Reset) изменения не появятся, потому что будут считаться более старой версией. И вот здесь поможет «жесткий» откат.
Сброс на последний коммит:
Альтернативный вариант. Сброс до конкретного референса (это должен быть обычный коммит, не пулл реквест и не мердж):
Затем принудительно отправляем на сервер:
Или так:
После этого если кто-то работал с этой веткой ему нужно также сбросить:
git reset --hard origin/название_ветки
Откатываем отдельные файлы
Смотрим какие файлы были добавлены:
Предположим, видим там файл .gitignore, удаляем его:
или альтернативный вариант