O git é uma ferramenta poderosa para controle de versão, com a necessidade conhecer o básico do git como o merge, commit ou mesmo criar um branch novo, devemos ter uma organização no fluxo do desenvolvimento de um projeto.

Com o Git Flow, podemos ter o recurso de uma ferramenta poderosa de organização dos branches do projeto, a fim de ter maior controle do mesmo.  Vamos conhecer um pouco mais do Git Flow.

Para utilizarmos desse recurso (que seria apenas uma prática de fluxo de desenvolvimento), temos 2 branches principais na vida de um repositório

  • master
  • develop (ou dev)

No branch master, devemos deixar como o principal onde está o estado mais"estável" do projeto. Em um caso de sistema web, o master sempre será o que está em produção. Já o branch develop (ou dev) consiste no último estado entregue do projeto, ou seja, as últimas alterações (estáveis ou não) feitas no projeto.

Branches de "suporte":

Nesses branches de suporte (ou auxilirar) temos alguns consiste em partes do desenvolvimento para que sejam de fácil rastreio. Os branches auxiliares são:

  • Release:

Serve como um label para preparar um lançamento para produção, como de uma versão nova, sempre deve ser criado a partir do develop para ser mergeado no master, bem como ser criado uma tag para histórico.

Nomenclatura: release-* ou release/*

Ex: release-1.0.0 ou release/1.0.0

  • Feature:

Um branch de feature consiste no desenvolvimento de uma nova funcionalidade, seja qual tamanho for. Sempre deve partir do develop para ser mergeado novamente no develop. O nome do branch deve ser precedido por "feature" e sucedido pela indicação da feature a ser implementada, mas não é uma regra, porém indico dessa forma para ficar fácil de se identificar pelo nome do branch.

Nomenclatura: feature-* ou feature/*

Exemplo: feature-X-10 ou feature/X-10

 

Branch develop

  • Hotfix:

O branch hotfix é um branch para alterações a partir do ambiente de produção, como a correção de um bug. Todos hotfixes partem do master e retorna para o mesmo, porém é necessário que essa(s) correção(ões) sejam atualizadas também em develop, para manter o estado do projeto. O nome do branch de um hotfix deve ser precedido pela palavra "hotfix" e sucedido, semelhantemente à feature, pela indicação do fix a ser feito.

Nomenclatura: hotfix-* ou hotfix/*

Exemplo: hotfix-X-10 ou hotfix/X-10

Aqui quis mostrar o básico do fluxo de desenvolvimento com o Git Flow.