Política de branches
O MeasureSoftGram organiza o trabalho com um fluxo baseado no Git Flow. As branches seguem uma nomenclatura padrão para manter o histórico organizado e rastreável. Esta política vale para os repositórios de código; repositórios só de documentação usam uma versão simplificada, descrita no fim.
Repositórios de código
main
Branch principal, com o código na última versão estável para o usuário final.
- Existe uma única
mainno projeto. - Commits diretos não são permitidos.
- Mudanças só entram por pull request, a partir de uma
releaseouhotfix.
develop
Branch de integração do desenvolvimento: é dela que partem as novidades.
- Existe uma única
develop. - É derivada da
maine mantida sincronizada com as demais branches.
feat
Branch de uma nova funcionalidade.
- Derivada da
develop. - Mesclada de volta na
developquando a funcionalidade fica pronta. - Cada funcionalidade tem a sua branch, no padrão:
feat/<codigo-da-issue>
# exemplo
feat/US003
release
Branch com um lote de funcionalidades que serão promovidas para a main.
- Derivada da
develop. - Mesclada na
mainquando concluída. - Nenhuma funcionalidade entra na
maina não ser viarelease. - Aceita apenas correções (
fix).
release/v<numero>.<numero>.<numero>
# exemplo
release/v1.0.28
fix
Branch para corrigir bugs encontrados em uma release.
- Derivada da
release. - Mesclada de volta na
releasequando concluída.
fix/<codigo-da-issue>
# exemplo
fix/BUG002
hotfix
Branch para resolver incidentes já em produção (main).
- Derivada da
main. - Mesclada de volta na
mainquando concluída. - A cada hotfix, a versão do produto é incrementada.
hotfix/v<numero>.<numero>.<numero>
# exemplo
hotfix/v2.4.3
Repositórios de documentação
Repositórios que contêm apenas documentação usam um fluxo mais simples: as
branches saem da main e são nomeadas pelo código da issue.
docs/<codigo-da-issue>
# exemplo
docs/DOC006
Incidentes na documentação em produção seguem o padrão hotfix/<nome-do-artefato>.
Referências
- A successful Git branching model (Vincent Driessen).
- Gitflow Workflow (Atlassian).