Estou baseando meu repositório Git em um modelo de ramificação bem-sucedido do Git e queria saber o que acontece se você tiver esta situação:
Digamos que eu esteja desenvolvendo dois ramos de recurso A e B, e B requer código de A. O nó X introduz um erro no recurso A que afeta o ramo B, mas isso não é detectado no nó Y, onde os recursos A e B foram mesclados e O teste foi realizado antes de se ramificar novamente e trabalhar na próxima iteração.
Como resultado, o bug é encontrado no nó Z pelas pessoas que trabalham no recurso B. Nesse estágio, é decidido que uma correção de bug é necessária. Essa correção deve ser aplicada aos dois recursos, pois as pessoas que trabalham no recurso A também precisam do bug corrigido, pois faz parte do recurso.
Uma ramificação de correção de bug deve ser criada a partir do nó mais recente do recurso A (aquele que ramifica do nó Y) e depois mesclada com o recurso A? Após o qual os dois recursos são mesclados para desenvolver novamente e testados antes de se ramificarem?
O problema é que é necessário que ambas as ramificações sejam mescladas para corrigir o problema. Como o recurso B não toca no código no recurso A, existe uma maneira de alterar o histórico no nó Y implementando a correção e ainda permitindo que a ramificação do recurso B permaneça inalterada e ainda possua o código fixo do recurso A?
Ligeiramente relacionado: Convenção de ramificação de erros do Git