Проблема: Вы хотели обновить ветку master
из мастер-репозитория, и забыли переключиться в ветку master
перед тем, как забрать изменения.
Предположим, вы были в ветке module2-task1
. Тогда ваш лог выглядел как-то так:
git log --pretty=oneline
eefbb06c3bedcfcd966f768df600d3ea903c9b6c самое последнее исправление
526e24442bb196342402b31874084dbf1da9f0ec последние исправления после ревью
37b3e4938271458759c7da35b8743569a9c19cd7 добавлены ссылки в меню
И вы сделали
git pull upstream master
Теперь ваш лог выглядит как-то так:
git log --pretty=oneline
026646a5784ae4cdc065fadcb5fc0aae3cbd849c :kissing_cat: Добавил сборку препроцессора в Галп
78a84dd74d4eddbe51a8a42a3cb827be14a26af2 :gift: Нарезал графику для вёрстки и отыскал шрифты
ae6311c11e935a7fe4e26e7c8d3a3d10a49291eb :see_no_evil: Исправил инструкцию в файле Contributing.md
95bb6a032298bbce3cd00ba1638bcdfbf253cc1c Merge pull request #2 from student/module2-task1
Кошмар! Создайте в этом месте новую ветку на всякий случай:
# Эта команда создаст новую ветку, но вы в эту ветку не переключитесь.
# Нам нужно остаться в старой ветке.
git branch module2-task1-backup
А теперь посмотрите последние операции:
git reflog
7209cf0 HEAD@{0}: pull upstream master: Fast-forward
eefbb06 HEAD@{1}: commit: самое последнее исправление
526e244 HEAD@{2}: commit: последние исправления после ревью
...
Как видно, мы хотим откатиться на изменение назад. Для этого делаем вот так:
git reset --hard HEAD@{1}
Если вы после pull
делали ещё что-то, берите следующую строку после pull
. То есть если видите HEAD@{3}: pull upstream master
, то нужно будет сделать reset --hard HEAD@{4}
.
Проверьте, что всё в порядке:
git log --pretty=oneline
eefbb06c3bedcfcd966f768df600d3ea903c9b6c самое последнее исправление
526e24442bb196342402b31874084dbf1da9f0ec последние исправления после ревью
37b3e4938271458759c7da35b8743569a9c19cd7 добавлены ссылки в меню