O que é GitFlow?

GitFlow é um modelo de ramificação para Git, criado por Vincent Driessen. Tem atraído muita atenção porque é muito bem adaptado à colaboração e à escala da equipa de desenvolvimento.

GitFlowh2> Benefícios Chave

Desenvolvimento Paralelo

Uma das grandes coisas sobre GitFlow é que torna o desenvolvimento paralelo muito fácil, ao isolar o novo desenvolvimento do trabalho acabado. O novo desenvolvimento (tais como características e correcções de bugs não urgentes) é feito em ramos de características, e só é fundido novamente no corpo principal do código quando o(s) desenvolvedor(es) está satisfeito com o facto de o código estar pronto para lançamento.

Embora as interrupções sejam uma BadThing(tm), se lhe for pedido para mudar de uma tarefa para outra, tudo o que precisa de fazer é submeter as suas alterações e depois criar um novo ramo de características para a sua nova tarefa. Quando essa tarefa estiver concluída, basta verificar o seu ramo de funcionalidade original e pode continuar onde parou.

Colaboração

Ramo de funcionalidade também facilita a colaboração de dois ou mais programadores na mesma funcionalidade, porque cada ramo de funcionalidade é uma caixa de areia onde as únicas alterações são as alterações necessárias para que a nova funcionalidade funcione. Isto torna muito fácil ver e seguir o que cada colaborador está a fazer.

Liberar área de encenação

A medida que o novo desenvolvimento é completado, é fundido de novo no ramo de desenvolvimento, que é uma área de encenação para todas as funcionalidades completadas que ainda não foram lançadas. Assim, quando o próximo lançamento for ramificado do desenvolvimento, conterá automaticamente todo o material novo que foi acabado.

Suporte para Correcções de Emergência

GitFlow suporta ramos hotfix – ramos feitos a partir de um lançamento etiquetado. Pode utilizá-los para fazer uma mudança de emergência, com a certeza de que o hotfix apenas conterá a sua correcção de emergência. Não existe o risco de se fundir acidentalmente em novo desenvolvimento ao mesmo tempo.

Como funciona

Novo desenvolvimento (novas características, correcções de bugs não emergenciais) são incorporadas em ramos de características:

div id=”e5e9e7aaa43″>GitFlow ramos de características

Ramos de características são ramificados do ramo em desenvolvimento, e as características e correcções acabadas são fundidas de novo no ramo em desenvolvimento quando estiverem prontas para lançamento:

GitFlow develop branch

Quando é altura de fazer um lançamento, um ramo de lançamento é criado a partir do ramo de desenvolvimento:

GitFlow release branch

O código no ramo de libertação é implantado num ambiente de teste adequado, testado, e quaisquer problemas são corrigidos directamente no ramo de libertação. Este deploy -> test -> fix -> redeploy -> ciclo de reteste continua até estar satisfeito com o facto de o release ser suficientemente bom para ser lançado aos clientes.

Quando o lançamento é terminado, o ramo de lançamento é fundido em master e em desenvolvimento também, para garantir que quaisquer alterações feitas no ramo de lançamento não são acidentalmente perdidas por novo desenvolvimento.

GitFlow master branchGitFlow master branch

O ramo master rastreia apenas o código lançado. Os únicos compromissos para master são as fusões dos ramos release e hotfix branches.

Os ramos hotfix são utilizados para criar correcções de emergência:

GitFlow hotfix branch

São ramificados directamente de um release marcado no ramo master, e quando terminados são fundidos de novo no ramo master e desenvolvidos para garantir que o hotfix não é acidentalmente perdido quando o próximo release regular ocorrer.

Categorias: Articles

0 comentários

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *