Sobes.tech
Junior

O que é Git Flow?

sobes.tech IA

Resposta da IA

O Git Flow é um modelo de ramificação no Git proposto por Vincent Driessen. Define um conjunto rigoroso de regras para organizar os ramos e gerir o ciclo de vida do projeto.

Ramos principais:

  • master: Contém o código pronto para lançamento, sempre estável.
  • develop: Ramo base para o desenvolvimento de novas funcionalidades.

Ramos auxiliares:

  • feature/...: Para o desenvolvimento de funcionalidades específicas. Separados de develop e fundidos de volta em develop. São assíncronos entre si.
  • release/...: Para preparar uma nova versão. Separados de develop, fundidos em develop e master. Corrigem bugs relacionados com o lançamento.
  • hotfix/...: Para corrigir rapidamente erros críticos em produção. Separados de master e fundidos em develop e master.

Ciclo de vida do ramo feature:

  1. git checkout develop
    
  2. git pull
    
  3. git checkout -b feature/a-nova-funcionalidade
    
  4. Desenvolvimento e commits.
  5. git checkout develop
    
  6. git pull
    
  7. git merge feature/a-nova-funcionalidade
    
  8. git branch -d feature/a-nova-funcionalidade
    

Vantagens:

  • Estrutura e organização claras.
  • Redução de conflitos na fusão.
  • Facilidade de compreensão para novos membros da equipa.

Desvantagens:

  • Pode ser demasiado complexo para projetos ou equipas pequenas.
  • Requer seguir regras rigorosas.