Buenas prácticas de ramificación / rebase de Git

Tengo un siguiente escenario:

3 ramas:
- Maestro
- MyBranch se ramificó de Master con el fin de desarrollar una nueva característica del sistema
- MyBranchLocal se ramificó de MyBranch como mi copia local de la sucursal

MyBranch está siendo rechazado y empujado por otros desarrolladores (que están trabajando en la misma función que yo).

Como propietario de la sucursal de MyBranch, quiero mantenerla sincronizada con el Maestro mediante rebase. También necesito fusionar los cambios que hago en MyBranchLocal con MyBranch.

¿Cuál es una buena manera de hacer eso?

Un par de posibles escenarios que probé hasta ahora:

YO.
1. Confirmar el cambio a MyBranchLocal
2. Rebase MyBranch contra Master
3. Rebase MyBranchLocal contra MyBranch
4. Combinar MyBranch con MyBranchLocal

II
1. Confirmar el cambio a MyBranchLocal
2. Combinar MyBranch con MyBranchLocal
3. Rebase MyBranch contra Master
4. Rebase MyBranchLocal contra MyBranch

III.
1. Confirmar el cambio a MyBranchLocal
2. Rebase MyBranch contra Master
3. Combinar MyBranch con MyBranchLocal
4. Rebase MyBranchLocal contra MyBranch

Ya sé que el escenario III parece estar arruinando mucho el historial de confirmaciones, posiblemente duplicando las confirmaciones.

Cual es tu experiencia ¿Qué escenarios recomienda para minimizar el esfuerzo de fusión y mantener limpio el historial?

Respuestas a la pregunta(2)

Su respuesta a la pregunta