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:
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.
dev
- Branch de integração contínua;
- Contém as últimas funcionalidades desenvolvidas e testadas;
- Base para criação de novas branches.
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:
- Fazer commit seguindo o padrão convencional;
- Enviar a branch para o repositório remoto;
- 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:
- A branch
dev
é mesclada nahomolog
; - Time de QA realiza testes;
Se aprovado, homolog
é mesclada na main
.
5. Hotfixes
Para correções críticas em produção:
- Criar branch a partir de
main
; - Nomear como
hotfix/nome-do-fix
; - Após aprovação, mesclar em
main
edev
.
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.