Política de Branches
Guia de Contribuição para branch ¶
Objetivo¶
Estabelecer um modelo padronizado de ramificação baseado no Git Flow para todos os repositórios da organização EHFAKE, com o objetivo de garantir:
- Entregas previsíveis e organizadas;
- Releases controladas e auditáveis;
- Fluxo de desenvolvimento sustentável;
- Manutenção segura do código em produção.
Estrutura Geral de Branches¶
Branch | Função | Origem | Destino | Convenção de nomes |
---|---|---|---|---|
main |
Código estável e versionado (produção) | release / hotfix | — | — |
develop |
Integração contínua de funcionalidades | main | release | feature/* , bugfix/* |
feature/* |
Desenvolvimento de novas funcionalidades | develop | develop | feature/<issue>-<slug> |
bugfix/* |
Correções durante o desenvolvimento | develop | develop | bugfix/<issue>-<slug> |
release/* |
Preparação de versões | develop | main & develop | release/vX.Y.Z |
hotfix/* |
Correções críticas diretamente em produção | main | main & develop | hotfix/vX.Y.Z |
doc/* |
Atualizações de documentação (repo docs ) |
main | main | doc/<issue>-<slug> |
gh-pages |
Site gerado automaticamente pelo MkDocs | gh-deploy |
— | — |
Convenções de Nomenclatura¶
<issue>
: número da issue vinculada (ex.:42
);<slug>
: descrição resumida da mudança em kebab-case (ex.:melhora-autenticacao
);- Versões seguem o padrão Semantic Versioning (SemVer):
MAJOR.MINOR.PATCH
.
Fluxo de Desenvolvimento¶
-
Feature
feature/123-melhora-busca
←develop
→ PR →develop
→ Squash & Merge -
Release
release/v1.2.0
←develop
→ PR →main
&develop
→ tagv1.2.0
-
Hotfix
hotfix/v1.2.1
←main
→ PR →main
&develop
→ tagv1.2.1
-
Documentação
doc/456-guia-instalacao
←main
→ PR →main
→mkdocs gh-deploy
→ gh-pages
Repositórios e Regras Específicas¶
Repositório | Branches principais | Observações |
---|---|---|
docs | main , gh-pages |
Atualizações feitas via branches doc/* . Deploy automático com mkdocs gh-deploy . |
datasets | main |
Fluxo Git Flow simplificado; utiliza feature/* , bugfix/* e release/* conforme necessário. |
fakebuster | main , develop |
Aplicações de Machine Learning com RAGFlow. Utiliza Git Flow completo. |
backend | main , develop |
Serviços e APIs da aplicação. Git Flow completo. |
frontend | main , develop |
Interface e frontend web. Git Flow completo. |
Regras de Merge¶
- Todo Pull Request deve:
- Ter pelo menos 1 reviewer aprovado;
-
Passar por todas as validações de CI com sucesso.
-
Estratégias de merge:
- Squash & Merge: para
feature/*
,bugfix/*
edoc/*
; - Merge commit: para
release/*
ehotfix/*
(preservando o histórico de versionamento); - Tags: aplicadas apenas na branch
main
.
Automação¶
- GitHub Actions:
- Validação automática de nomes de branch com expressões regulares;
-
Workflows específicos para release, build e deploy por repositório;
-
Artefatos:
- São publicados automaticamente nas releases (
Docker
,npm
, modelosML
, etc.).
Histórico do Documento¶
Versão | Data | Descrição | Autor |
---|---|---|---|
1.0 | 18/04/2025 | Criação inicial | Equipe EHFAKE |
1.1 | 20/05/2025 | Revisão e melhoria | Equipe EHFAKE |