Git workflow para recursos flexíveis

5

Eu, nossa equipe, usamos uma abordagem do gitflow para manter nossa base de código. Mas há um caso em que lutamos.

Estamos no seguinte caso, temos dois ramos de características (feat / A, feat / B) que foram criados a partir de develop . O feat / A está acabado, então nós o mesclamos no desenvolvimento, bem, esse recurso agora vive em develop , ele está esperando para ser testado para ser mesclado em master .

E agora, há uma emergência para colocar talento / B em mestre porque é muito importante (um erro de comunicação, um cliente espera que ele já esteja presente, seja qual for ..). Neste caso, o talento / B não está 100% pronto (é por isso que não é mesclado em develop por enquanto), mas a versão atual está estável e pronta para ser usada.

Então, como você lidaria com isso?

Não podemos contar com o gitflow, pois ele dirá o seguinte:

  • Mesclar proeza / B em develop
  • Mesclar develop em master (não mencionei release/X , mas o princípio é o mesmo)

Mas ... lembre-se, develop contém o talento A que não está pronto para ser lançado no prod. Portanto, não podemos mesclar develop em master .

A solução que tenho é a seguinte:

  • Mesclar proeza / B em develop
  • Mesclar proeza / B em master

Assim, o mestre não contém o talento A. Essa solução funciona, mas não parece ser uma prática escalável em grandes projetos (dezenas de desenvolvedores trabalhando em um mesmo repositório). Agora estamos 3-4 dev para que possamos nos comunicar rapidamente uns com os outros, mas em uma grande equipe não é realmente possível ..

    
por Nathan Vasse 15.12.2017 / 14:04
fonte

2 respostas

5

No modelo do gitflow, essa situação seria considerada um hotfix, em que a prescrição é exatamente a solução proposta, supondo que a mesclagem não inclua outras alterações de develop que não estão prontas para master . Se a mesclagem exigir alterações indesejadas, você precisará rebase feat/B em master .

    
por 15.12.2017 / 21:16
fonte
1

Eu recomendo tratar isso como um hotfix. Rebase feat/B off master e depois cherry pick muda de volta para desenvolver ou mesclar master no desenvolvimento.

    
por 15.12.2017 / 21:30
fonte