Desenvolvimento

11 mai, 2017

Desenvolvimento distribuído com Git e como aplicá-lo

Publicidade

Você já ouviu falar sobre desenvolvimento distribuído? Bem, poucos desenvolvedores conhecem essa estratégia, outros já utilizam mas não têm ideia do fluxo no qual estão inseridos… Vamos entender melhor?

Fluxo de trabalho centralizado

Este fluxo promove a colaboração de todo o time de desenvolvimento de uma determinada linguagem em um único repositório centralizado.

Como aplicá-lo?

Em times pequenos! Junto com esse fluxo, também tem um de organização que é orientado a funcionalidades, permitindo uma rápida integração de código.

Fluxo de trabalho do gerente de integração

Neste caso, cada desenvolvedor realiza um fork do projeto a ser contribuído, evolui o código nessa cópia e abre um Pull Request para o mantenedor do repositório oficial. Para a integração dessas alterações depois, o mantenedor adiciona essa cópia como um novo repositório remoto, fazendo o merge das alterações localmente.

Feito isso, o mantenedor dá push das alterações para o repositório oficial.

Onde aplicá-lo?

Em times mais maduros, desenvolvendo softwares distribuídos e aumentando a qualidade de código com Pull Requests e Code Review.

Fluxo de trabalho de ditador e tenentes

Neste fluxo, temos três papéis fundamentais: os desenvolvedores, os tenentes e os ditadores. Os desenvolvedores trabalham a partir de um fork do repositório oficial que está sob domínio do ditador, a partir da branch master.

Os tenentes realizam o merge dos códigos dos desenvolvedores em uma branch de integração, na qual o ditador fará o merge dessa branch na sua branch master depois. Feito isso, o ditador dá push das suas alterações para o repositório oficial, no qual os desenvolvedores farão o rebase com as novas alterações.

Onde aplicá-lo?

Em estruturas com múltiplos times que refletem as funcionalidades de um respectivo software, delegando a integração de código aos tenentes e aos ditadores.

Exemplo:

Todos os fluxos estão voltados à complexidade de desenvolvimento de um software e podem ser escalados para proporcionar mais qualidade e agilidade na entrega de novas funcionalidades.

A documentação do Git é uma ótima referência para se aprofundar no conhecimento sobre os fluxos, muita rica em detalhes e você pode ver aqui.

Ficou alguma dúvida ou tem alguma sugestão? Aproveite os campos abaixo! Até a próxima.

***

Artigo publicado originalmente em: https://www.concretesolutions.com.br/2017/05/01/desenvolvimento-distribuido-git/