Могу ли я отменить рефлог git? - PullRequest
1 голос
/ 05 мая 2020

У меня есть ветка на Github. Я объединил изменение, которое не хотел объединять.

Я пытался отменить эту фиксацию. Я сделал git reset --hard и git reset <commit id>.

Я все время получал ошибку Updates were rejected because the tip of your current branch is behind.

Я читал в сообщении о переполнении стека, что я должен попробовать git reflog.

Но теперь моя ветка имеет 100 коммитов. из 8 коммитов. Потребовалась вся остальная работа, которую я выполнял на выходных над аналогичной частью кода, и я добавил эти изменения в ту же ветку.

Как мне отменить это и сделать те коммиты, которые больше не связаны с этой веткой ?

1 Ответ

1 голос
/ 05 мая 2020

Сначала убедитесь, что сброшенная ветка имеет правильные коммиты:

git log

Если нет, то git reflog содержит список всех подсказок ветвей и других ссылок которые были обновлены в локальном репозитории. Найдите ветку для своей ветки до «плохого» слияния: сбросьте до нее.

# assuming you don't have any work in progress
git reset --hard <good_commit>

Затем, если ветка правильная локально и была сброшена, вам нужно будет принудительно установить pu sh it: git push --force (при условии, что вы один работаете над этой веткой, или вам сначала нужно уведомить других)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...