Перебазировать ветвь A на B: там должны быть только коммиты, не выбранные вишней.
B--B--B--B--A'--A'--A' (A)
\
m--M--m--m (master)
Затем перебазируем А сверху мастера:
git rebase --onto master B A
Это будет перебазировать все коммиты после B HEAD, вплоть до A HEAD (в комплекте).
B--B--B--B (B)
\
m--M--m--m (master)
\
A''--A''--A'' (A)
Оттуда вы можете сделать свой запрос на извлечение.