GIT — Soft Reset — Hard Reset

Admin GIT

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

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

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

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

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

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

GIT — Soft Reset

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

2sf47sddss9fdsf345sdf33232bb1ae333d8aa

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

git revert -m 1 2sf47sddss9fdsf345sdf33232bb1ae333d8aa

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

git reset --soft HEAD~1

Hard Reset

Hard Reset — откатывает последние изменения, которые если не сохранены отдельно, будут потеряны безвозвратно. Самый крайний вариант. Использовать с осторожностью.

Hard Reset может пригодиться когда был реверт пулл реквеста, который снова нужно откатить назад. Такая безумная цепочка приводит к неприятным последствиям, но такое иногда бывает. В этом случае при откате через revert (Soft Reset) изменения не появятся, потому что будут считаться более старой версией. И вот здесь поможет «жесткий» откат.

Сброс на последний коммит:

git reset --hard HEAD~1

Альтернативный вариант. Сброс до конкретного референса (это должен быть обычный коммит, не пулл реквест и не мердж):

git reset --hard 2sf47sddss9fdsf345sdf33232bb1ae333d8aa

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

git push --force

Или так:

git push -f

После этого если кто-то работал с этой веткой ему нужно также сбросить:

git checkout название_ветки
git reset --hard origin/название_ветки

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

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

git status

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

git reset HEAD .gitignore

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

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

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

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

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