GIT — Soft Reset — Hard Reset

Откат изменений в github с помощью команд GIT.

Если что-то пошло не так, то идем по порядку, от наименьшего (возможного) вреда:

Откатываем ветку

Всегда лучше делать откат с помощью revert merge на самом сайте github.com.

Вносим исправляющий коммит

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

GIT — Soft Reset

Посмотреть референс нужного коммита:

2sf47sddss9fdsf345sdf33232bb1ae333d8aa

И сделать к нему реверт:

git revert -m 1 2sf47sddss9fdsf345sdf33232bb1ae333d8aa

Альтернативный вариант. Мягкий сброс на последний коммит:

git reset --soft HEAD~1

Hard Reset

Самый жесткий вариант. Откатывает последние изменения. Если вы нигде их не зафиксировали, то потеряете. Использовать с осторожностью.

git reset --hard HEAD~1

Альтернативный вариант. Сброс до конкретного референса:

git reset --hard 2sf47sddss9fdsf345sdf33232bb1ae333d8aa

Затем принудительно отправляем на сервер:

git push --force

Откатываем отдельные файлы

Смотрим какие файлы были добавлены:

git status

Предположим, видим там файл .gitignore, удаляем его:

git reset HEAD .gitignore

или альтернативный вариант

git checkout -- .gitignore
Метки:

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "GIT — Soft Reset — Hard Reset"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>