(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Infraestrutura como Código & DevOps
Infraestrutura como Código & DevOps 1 min

Estratégias de branching para equipas de dados: GitFlow vs trunk-based

João Barros 23 de January de 2026 1 min de leitura

A estratégia de branching define como as alterações fluem de desenvolvimento para produção. Para equipas de dados, a escolha entre GitFlow e trunk-based development tem implicações directas na frequência de deploy e na complexidade de merge.

GitFlow — estrutura e fluxo

Branches permanentes:
  main    → código em produção (protegida, merge via PR)
  develop → integração de features em curso

Branches temporárias:
  feature/ingest-clientes-v2  → nova funcionalidade
  hotfix/corrigir-watermark   → correcção urgente em prod
  release/2024-Q2             → preparação de release

Fluxo:
  feature/* → develop → (testes) → release/* → main
  hotfix/*  → main + develop

Trunk-Based Development

Um único branch principal: main
Feature branches muito curtos (< 2 dias)
Deploy automatico após PR mergeado

Fluxo:
  main ← feature/fix (PR com 1-2 commits, vida curta)
  Cada merge → CI/CD automático → deploy para staging → (aprovação) → prod

Para features grandes: feature flags
  if FEATURE_FLAG_NOVA_INGESTAO:
      run_new_pipeline()
  else:
      run_legacy_pipeline()

Comparação para equipas de dados

GitFlow — melhor quando:
  ✓ Releases agendadas (mensal, trimestral)
  ✓ Múltiplos analistas a trabalhar em paralelo
  ✓ Relatórios Power BI com ciclo de validação longo
  ✓ Equipa menos experiente em git

Trunk-based — melhor quando:
  ✓ Deploy contínuo de pipelines de dados
  ✓ Notebooks testáveis automaticamente
  ✓ Equipa experiente com CI/CD
  ✓ Feature flags para rollout gradual

Recomendação prática para dados

Para a maioria das equipas de dados:
  - GitFlow simplificado: main + develop + feature/*
  - PR obrigatório para develop e main
  - Pipeline CI em cada PR (lint + testes)
  - Deploy automático para dev/test, aprovação manual para prod
  - Proteger main e develop: requerer 1 reviewer + CI verde

Conclusão

GitFlow simplificado (sem release/* separados) é o equilíbrio certo para a maioria das equipas de dados. Fornece estrutura suficiente para coordenar múltiplos contribuidores sem a overhead de trunk-based puro, que requer feature flags e pipelines de deploy muito maduros.

Partilhar: