O que é Gitflow Workflow e porquê usar ?
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.