Home | Planejamento | Arquitetura Geral | Front End | Back 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
-
Crie ou acesse uma branch
- Se uma branch não existir ainda, crie uma a partir da
develop
:git checkout develop git pull git checkout -b feature/nome-da-feature
- Se já existir, puxe-a para seu computador, e a acesse:
git fetch git checkout feature/nome-da-feature
- Sempre que for começar a trabalhar na mesma branch, atualize a que existe no seu computador:
git pull
- Se uma branch não existir ainda, crie uma a partir da
-
Salve seu trabalho
- Para que o git registre as alterações que você fez, você precisa fazer um
commit
dos arquivos e pastas alterados, seguindo os padrões descritos na próxima seção:git add nome-de-um-arquivo nome-de-uma-pasta git commit -m "tipo(escopo): descrição"
- Caso você queira fazer
commit
de todas as suas alterações, pode alterar ogit add
:git add . git commit -m "tipo(escopo): descrição"
- Para que o git registre as alterações que você fez, você precisa fazer um
-
Atualize o repositório remoto
- Se você criou a branch, e ainda não tiver enviado alterações para a remota antes, precisará conectar a branch local à nova branch remota:
git push --set-upstream origin feature/nome-da-feature
- Caso não tenha criado, ou já tenha enviado alterações antes, basta enviar normalmente:
git push
- Se você criou a branch, e ainda não tiver enviado alterações para a remota antes, precisará conectar a branch local à nova branch remota:
Integração das mudanças
Depois de atualizar o repositório remoto com a última alteração de que sua feature precisava, crie uma merge request.
Passo a passo:
- Entre no repositório que você atualizou, vá ao menu Merge Requests, e clique no botão "New merge request";
- Para a source branch, selecione a sua branch, e, para a target branch, selecione a branch
develop
; - Escreva um título e uma descrição para a sua merge request;
- Para assignee, defina a você mesmo, e, para reviewer, selecione o colega apropriado*;
- Clique no botão "Create merge request" e aguarde a revisão do seu colega.
(*): Para selecionar o reviewer:
- Se você for AGES I, II, ou IV, selecione o AGES III focal do seu squad;
- Se você for AGES III, o AGES IV focal do seu squad.
-
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