Все в вашем репо остается там до тех пор, мерзавец не видит, что это было совершенно недостижимым, через любой реф, по крайней мере месяц .
Итак, вы сделали какой-то эквивалент git rebase master topic
, скажем, 26 коммитов AZ на тему с веткой, и вы сделали то, что оказалось очень плохой, перезарядило O и на самом деле не получило полного эффекта до тех пор, пока S :
A...O...Z topic
/
...a....z master
\
A2..O2..S2 the inflight rebase with the mistake in the rebased O, O2
Ваш является откат
git tag restart O2~
git rebase --abort
git rebase --onto restart O^ topic
и теперь у вас есть только переделывать совершающие заражен Упсом.
Если есть хорошие детали для коммитов в серии O2 ~ ..S2, разрешения конфликтов, которые вы хотите получить, вы также можете пометить S2, а затем во время повтора просто проверьте хорошие части от этих коммитов, git checkout boneyard~3 -- goodpart1 goodpart2 etc etc
(где вы отметили S2 как «boneyard», а хорошие детали находятся в P2
Я сделал это, пропустил перестановку и должен был повторить ее. Я не удивлюсь, если все сделают это на одном точка или другой. Это не большое дело, даже, казалось бы, жутких случаях, как ваш.
Вы можете принудительно удалить усечение раньше. Не делай этого.
Обновленный вопрос, прерывание не является решением – Lesto
@lesto, --abort ** является ** решением, вам просто не нравится, потому что это означает больше работы .... но тогда вы не должны иметь испортил rebase!;) –