Home | Planejamento | Arquitetura Geral | Front End | Banco de Dados | Design do Sistema e Mockups | Infraestrutura e Orçamento | Fluxo e Versionamento |
---|
Estratégia de Branching: Git Flow
Visão Geral
O Git Flow é uma estratégia de branching que organiza o desenvolvimento e o lançamento de software. Ele divide o trabalho em diferentes branches para garantir a estabilidade da branch main
enquanto possibilita o desenvolvimento contínuo na branch develop
.
Branches Principais
-
main
: Branch de produção, sempre estável. Contém a versão pronta para lançamento. -
develop
: Branch de desenvolvimento, onde novas funcionalidades são integradas. -
feature/*
: Branches para desenvolvimento de funcionalidades específicas. Criadas a partir dadevelop
.
Visualização do Fluxo
Fluxo de Trabalho
-
Iniciando uma Nova Feature
- Crie uma branch
feature/*
a partir dedevelop
- Sempre mantenha a develop atualizada para evitar conflitos ao abrir MR's
git checkout develop git pull git checkout -b feature/nome-da-feature
- Sempre envie seus commits e mudanças para o repositório remoto para que outros desenvolvedores possam desenvolver em sua branch caso você não finalize a tarefa!
git add . git commit -m "O que foi realizado seguindo os Exemplos de Commit" git push origin feature/nome-da-feature
- Crie uma branch
-
Concluindo uma Feature
- Merge Request > New Merge Request > Compare Branches and Continue
- Na "Source Branch" designe a sua branch de feature, em "Target branch" designe a branch que deseja mesclar suas alterações (comumente será a branch develop)
- Assine seu AGES III ou AGES IV como revisores do Merge
- Requisite o Merge!
-
Correções Urgentes (Hotfixes)
- Crie uma branch de hotfix a partir da
main
, corrija o problema e mescle tanto namain
quanto nadevelop
.
- Crie uma branch de hotfix a partir da
Padrão de Commits: Conventional Commits
Estrutura do Commit
<tipo>(<escopo>): <descrição>
-
Tipos Comuns:
-
feat
: Adição de nova funcionalidade. -
fix
: Correção de bug. -
docs
: Alterações na documentação. -
style
: Alterações de formatação e estilo. -
refactor
: Refatoração de código. -
test
: Adição ou modificação de testes. -
chore
: Atualizações diversas, como mudanças de configuração.
-
Exemplos de Commits
-
Nova funcionalidade:
feat(auth): adiciona autenticação por token JWT
-
Correção de bug:
fix(api): corrige erro de CORS na API de produtos
-
Documentação:
docs(README): adiciona instruções para configurar o ambiente
-
Refatoração:
refactor(core): melhora a performance do algoritmo de busca
-
Lançamento:
chore(release): versão 1.2.0