#git
На этот вопрос уже даны ответы здесь: Git откатить rebase [дубликат] (2 ответа) Закрыт 3 года назад. Предиcтория фейла: В origin master было 10 нормальных коммитов. Понадобилось 3 коммита извлечь из истории, а потом перенести в отдельный баранч Вот мои действия git checkout master git branch test git rebase -i HEAD~10 //удалил 3,9 и 10 коммит (условно hash: aaaaa,bbbbb,ccccc) git push -f origin master git checkout test git rebase -i HEAD~10 //удалил 4,5,6,7,8 тоесть промежуточные В это время мастер пошел вперед. Решив что пора вылить ветку test в origin, но что бы потом сливать ветку было проще решил подлить в нее мастер но ребейсом git checkout test git pull --rebase origin master Расчитывал что мои три коммита просто перетянуться вверх истории, так как предок-коммит был. Но после кучу странных конфликтов в истории отсуствует один коммит (aaaa) Два вопроса В чем я ошибся и почему все так сломалось? Что делать, как востановить утерянный коммит?
Ответы
Ответ 1
Ответ для второго пункта: все просто git reflog, находим состояние проекта до пула (например 3 шага назад) и делаем git reset --hard HEAD@{3}. Можно так же и бранч временный создать, чтобы поразбираться.
Комментариев нет:
Отправить комментарий