У меня есть ветка от мастера, называемая A, из которой я хотел создать новую ветку, B. За исключением того, что я испортил и создал B на основе мастера.
Желательно:
master
\
A
\
B
Фактически:
master
\ \
A B
B имеет только один коммит, который мне нужен, но поскольку он основан на master, а не на A, разница огромна. Что еще хуже, я попробовал git rebase -i A
и раздавил все, кроме одного коммита, который я хотел увидеть, но он, похоже, снова просто перезапустил мастер. Итак, теперь у меня есть рефлог, который в основном выглядит так:
B@{0}: rebase: B onto master
B@{1}: commit
B@{2}: rebase: B onto master
B@{3}: branch B created
Мне нужно выяснить, как получить только один коммит и основывать его на A, чтобы я мог сделать запрос на перенос где разница невелика.
Edit: было бы неплохо отметить, что A не обновлен с помощью master, он по-прежнему много коммитов. Таким образом, ошибочно перенастроенный B теперь "опережает" A.