Преди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)
Два вопроса
- В чем я ошибся и почему все так сломалось?
- Что делать, как востановить утерянный коммит?
git cherry-pickне? – Dmitriy Simushev Oct 27 '15 at 13:27при ребейсе находиться кореневой коммит между ветками и начинаеться перетаскивание трех моих комитов через каждый зашедший из мастера Но гдето я неправ, и поэтому потерялся коммит
– duhon Oct 28 '15 at 14:39