O que é Gitflow Workflow e porquê usar ?

Dumilde Matos
2 min readAug 28, 2020

Entendendo o fluxo de desenvolvimento com git.

É bastante comum em equipes/projetos pequenos adotar pouco ou nenhum controle sobre o fluxo de branches no repositório, isso deve-se pelo fato de haver pouca necessidade da criação de um grande número de branches. Mas com o passar do tempo conforme a complexidade do projeto vai aumentando, coisas como hotfix, feature, release, etc. ficam mais dificeis de controlar.

O que é o Gitflow?

O Gitflow é um modelo de trabalho com branches, que é focado em entrega de projetos. O modelo se baseia em duas branches fixas: master e develop, que serão utilizadas para guardar o histórico do projeto e será apartir delas que as novas implementações serão criadas.

A master será usada para as entregas oficiais, e a develop será usada para integração entre as branches. Teremos ainda outras novas branches para cuidar das novas implementações “features”, correções de bugs “bugfixes”, correções urgentes de bugs “hotfixes” e novas versões do sistema “releases”.

Como funciona?

O modelo então nos diz que devemos seguir padrões de nomes e funções para cada tipo de branch.

master: Contém o código de produção.

develop: Contém o código do próximo deploy, isso significa que conforme as features vão sendo finalizadas elas são juntadas nesta branch, para posteriormente serem juntadas na master.

feature/*: São branches para o desenvolvimento de uma funcionalidade especifica, Ex: feature/criar-pedido. Essas branches são sempre criadas à partir da develop

hotfix/*: São branches responsáveis pela realização de alguma correção crítica encontrada em produção e por isso são criadas à partir da master. Essa branche deve ser juntada com a master e com a develop após a sua finalização.

bugfix/*: São branches responsáveis pela realização de alguma inplementação.

release/*: Tem uma confiança maior que a develop e se encontra em nível de preparaçao para ser juntada com a master e com a develop.

Porquê usar?

Esse modelo traz uma forma de trabalho com branches que se encaixa perfeitamente em projetos muito grandes e que têm um fluxo deploy da longo, mas também pode ser usado em projetos que não são de grande dimensão e onde o desenvolvedor precisa serparar as suas atividades em branches.

Existe um plugin que facilita o trabalho com esta ferramenta, ele apresenta o mesmo nome (git-flow). Frequentemente, Para usuários de Windows ele já vem incluso quando é instalado o git na máquina. No caso de Linux basta rodar o comando sudo apt-get install git-flow.

--

--

Dumilde Matos

Full Stack Developer / Web Developer / UI/UX designer.