Boas práticas de ramificação / reestruturação do Git

Eu tenho um seguinte cenário:

3 ramos:
- Mestre
- MyBranch ramificou o Master com o objetivo de desenvolver um novo recurso do sistema
- MyBranchLocal ramificou MyBranch como minha cópia local da filial

O MyBranch está sendo reprovado e pressionado por outros desenvolvedores (que estão trabalhando no mesmo recurso que eu).

Como proprietário da ramificação MyBranch, quero mantê-la sincronizada com o Master, reestruturando. Também preciso mesclar as alterações feitas no MyBranchLocal com o MyBranch.

Qual é uma boa maneira de fazer isso?

Alguns cenários possíveis que eu tentei até agora:

EU.
1. Confirme a alteração no MyBranchLocal
2. Rebase MyBranch contra Master
3. Rebase MyBranchLocal contra MyBranch
4. Mesclar MyBranch com MyBranchLocal

II
1. Confirme a alteração no MyBranchLocal
2. Mesclar MyBranch com MyBranchLocal
3. Rebase MyBranch contra Master
4. Rebase MyBranchLocal contra MyBranch

III
1. Confirme a alteração no MyBranchLocal
2. Rebase MyBranch contra Master
3. Mesclar MyBranch com MyBranchLocal
4. Rebase MyBranchLocal contra MyBranch

Eu já sei que o cenário III parece estar atrapalhando muito o histórico de consolidação, potencialmente duplicando as confirmações.

Qual a sua experiência? Quais cenários você recomenda para minimizar o esforço de fusão e manter o histórico limpo?

questionAnswers(2)

yourAnswerToTheQuestion