Utilizando Gitflow
Introdução
Um dos grandes problemas de um projeto é como desenvolver ele em conjunto com outros desenvolvedores, sendo que a aplicação esteja sempre atualizada e que esse processo seja o mais automático possível.
Buscando solucionar esse problema foram criados vários controladores de versão, onde a partir de um único repositório toda a equipe possa trabalhar em conjunto.
Uma das grandes referências hoje para controlador de versão é o Git. Ele foi desenvolvido por Linus Torvalds para gerenciar o kernel Linux e com o passar do tempo essa ferramenta vem sendo utilizada em inúmeros projetos.
Mesmo com ferramentas como essa, ainda são necessárias algumas regras de uso, para que bugs não aconteçam.
Gitflow
Quando o projeto é pequeno, uma única branch é suficiente para você concluir o trabalho, porém quando estamos falando de um software com uma versão estável, uma nova versão sendo desenvolvida e simultaneamente corrigir bugs da versão atual, nós precisamos utilizar mais de uma branch e o Gitflow fornece um modelo/conjunto de extensões para utilizar esse sistema com eficiência.
A branch Master é a raiz principal da aplicação — dela que é gerada a versão para deployment. A partir da branch Master, nós criamos uma outra branch que tem um papel fundamental: a branch Develop serve para gerar as futuras versões que serão lançadas.
No decorrer do desenvolvimento, integrações entre Develop e Master serão feitas para lançamento de novas versões.
Obviamente, antes de colocar a aplicação para o cliente, é necessária uma etapa de testes, onde a equipe de desenvolvimento possa encontrar/resolver os principais bugs. A branch intermediária é a Release.
A partir da branch Develop nós iremos criar outras branches para cada funcionalidade/característica da aplicação. Essas Features serão desenvolvidas por cada programador que, após o desenvolvimento, irá integrá-las à branch Develop.
A branch Hotfix serve para reparar os bugs da aplicação que o cliente está utilizando. Após correção iremos integrá-la às duas branches principais (Develop e Master).
Diversas empresas de desenvolvimento de software utilizam o Gitflow para organização dos seus repositórios. Se adequar a esse método pode fazer com que você economize bastante tempo corrigindo bugs de merges.
A aplicação do Gitflow foi construída para facilitar as criações dessas branches, de modo que os desenvolvedores possam facilmente criar features e integrá-las com a branch Develop. Caso você use aplicações como GitKraken esses comandos já vêm integrados para você fazer os pushes com maior facilidade.
Links úteis
- Download GitFlow e Manual de utilização
- Artigo explicando com detalhes o Gitflow
- Git GUI com suporte a Gitflow