Fluxo de desenvolvimento - ipecode-br/abnmo-frontend GitHub Wiki

Este documento descreve o fluxo de trabalho adotado para o desenvolvimento da aplicação, seguindo as práticas do Git Flow com algumas adaptações.

Branches Principais

O repositório possui 3 branches principais:

  1. main
  • Representa a versão estável e em produção;
  • Todo código aqui foi validado pelo time de QA;
  • Corresponde à última release disponível.
  1. dev
  • Branch de integração contínua;
  • Contém as últimas funcionalidades desenvolvidas e testadas;
  • Base para criação de novas branches.
  1. homolog
  • Branch de homologação/qualidade;
  • Versão candidata à produção;
  • Utilizada pelo time de QA para validação.

Fluxo de Trabalho

1. Criação de Novas Branches

  • Todas as novas branches devem ser criadas a partir da dev;
  • Padrão de nomenclatura:
    • feature/nome-da-feature (para novas funcionalidades);
    • fix/nome-do-fix (para correções);
    • hotfix/nome-do-hotfix (para correções críticas de produção);
    • Dúvidas: consulte o padrão de nomenclaturas do Git Flow.
git checkout dev
git pull origin dev
git checkout -b feature/nova-feature

2. Submissão de Código

Ao finalizar o desenvolvimento:

  1. Fazer commit seguindo o padrão convencional;
  2. Enviar a branch para o repositório remoto;
  3. Abrir um Pull Request (PR) destinado à branch dev:
git push origin feature/nova-feature

3. Revisão de Código

Todo PR deve ser revisado por pelo menos um membro do time e pelo Tech Lead.

Aprovações necessárias antes do merge:

  • Code review aprovado;
  • Passar pelos testes e build;
  • Resolução de conflitos (se aplicável).

4. Homologação

Periodicamente ou quando necessário:

  1. A branch dev é mesclada na homolog;
  2. Time de QA realiza testes;

Se aprovado, homolog é mesclada na main.

5. Hotfixes

Para correções críticas em produção:

  1. Criar branch a partir de main;
  2. Nomear como hotfix/nome-do-fix;
  3. Após aprovação, mesclar em main e dev.

Diagrama do Fluxo

branch-de-trabalho → PR → dev → homolog → main (produção)
                           ↑       ↓
                           └───────┘

Observações Importantes:

  • Nunca realizar commits diretamente nas branches principais;
  • Manter histórico limpo (evitar merges desnecessários);
  • Sempre atualizar a branch local antes de criar novas branches.