Если вы перебираете свою локальную функциональную ветвь, тогда у вас есть только принудительный толчок.
git push -f
Но этот метод не рекомендуется, если в ветви функций работают другие люди, потому что тогда они будут принудительно вытягивать изменения.
Перебазирование эффективно переписывает историю вашей функциональной ветви. Вот почему вы должны принудительно толкать.
Другой вариант, который вы можете использовать, это вообще не делать ребаз. Вы всегда можете merge
зафиксировать в dev вашу ветку функций. Это гарантирует, что вы можете использовать обычный push-запрос для обновления пульта, а все остальные пользователи функциональной ветви также могут без проблем потянуть.