Предположим, у вас есть следующий сценарий:
A - B - C (master)
\
D - E (topic)
Если вы объедините тему с мастером с помощью --squash, вы получите что-то вроде
A - B - C - F (master)
\
D - E (topic)
Где F содержит все изменения из D и E. Перебазирование темы на master не имеет смысла, так как ветка темы уже в master (через F). Вместо перебазировки вы можете переместить ветку темы в F, например,
git checkout master
git branch -f topic F
Что дает:
A - B - C - F (master/topic)
Все, что вам нужно сделать сейчас, это нажать на ветку перемещенной темы:
git push -f origin topic