Страницы

Поиск по вопросам

среда, 24 октября 2018 г.

Как отменить (откатить) действие git pull?

Подскажите, пожалуйста, решение проблемы:
Есть две ветки: sphere и tags
Я находился в ветке sphere и случайно сделал git pull origin tags, потом, заметив, что написал неправильно, и не посмотрев, что мердж прошел с конфликтами, сделал git pull origin sphere, и у меня в ветку влились все новые изменения из sphere
Как мне вернуть код к состоянию до первого pull?


Ответ

git reset --hard git checkout sphere git reflog # Находите хэш коммита, в котором вы находились до первого pull-а. # Будет что-то вроде "8f05e00 HEAD@{4}: checkout: moving from master to sphere" # или "4c31200 HEAD@{10}: commit: Awesome feature implemented." git reset --hard [нужный хэш] Ну и я бы не рекомендовал использовать "git pull" вообще, потому как эта команда берет на себя слишком много функций и ее поведение неочевидно. Рекомендую разобраться поподробнее, как работает git, и использовать fetch + merge или fetch + rebase. Я лично предпочитаю второе, но это дело вкуса.

Комментариев нет:

Отправить комментарий