Como devo incorporar um hotfix novamente em um ramo de recurso usando o gitflow?

10

Comecei a usar o gitflow para um projeto e tenho um excelente ramo de recursos, além de um hotfix recém-criado. De acordo com o fluxo de trabalho do gitflow, o hotfix é aplicado ao mestre e ao desenvolvimento de ramificações, mas nada é dito ou feito sobre ramificações de recursos existentes.

No entanto, eu gostaria de incorporar as alterações do hotfix novamente no meu ramo de recurso, que, o mais próximo possível, deixa três opções:

  1. Não incorpore as mudanças. Se as alterações fossem necessárias para o ramo do recurso, ele deveria fazer parte do ramo do recurso.
  2. Mesclar o desenvolvimento de volta ao ramo do recurso. Parece seguir melhor o fluxo de trabalho do gitflow, mas causaria confirmações fora de ordem.
  3. Rebase o ramo do recurso para desenvolvimento . Isso preservaria a ordem de confirmação, mas o rebasing parece estar completamente ausente do fluxo de trabalho geral do gitflow.

Qual é a melhor prática aqui?


fonte
Ramos especiais são geralmente suposto ser de muito curta duração, é uma espécie de cheiro SCM para ser mesclar as alterações para eles; é impossível concluir (ou estabilizar) o ramo do recurso e mesclá-lo de volta?
Aaronaught 2/09/12
2
@Aaronaught bem o recurso não está pronto / pode ir a lugar nenhum. A situação básica é que um recurso que leva alguns dias para desenvolver descobriu um bug que poderia afetar os dados de produção. Os testes foram gravados, o hotfix aplicado ao mestre / produção, mas o recurso inacabado ainda é quebrado pelo bug. Você está sugerindo a fusão de um recurso pela metade na linha principal de desenvolvimento? O que acontece se o recurso não funcionar?

Respostas:

11

Não vejo nada de errado em refazer a ramificação do seu recurso no develop para pegar as últimas correções. Na verdade, refazer com freqüência a ramificação de recursos contra o desenvolvimento pode ser útil, pois permite manter sua ramificação "atualizada", o que facilita a fusão quando você chega a esse estágio.

Wayne Conrad
fonte
Sim: olhando em volta de mais algumas evidências circunstanciais - incluindo o anúncio do gitflow 0.2 que acrescentou rebasing de recursos - está apontando para o fluxo de trabalho regular do git rebase, sendo também o fluxo de trabalho do gitflow.
2
Interessante. Não posso dizer que sou especialista no Gitflow, mas meu entendimento era que os hotfix eram comprometimentos singulares contra o mestre, não ramos, e eu simplesmente os escolhi para desenvolvê-los. A leitura pensou que eu estava totalmente errado nisso.
Jb510