| 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
commitdos 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
commitde 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 namainquanto 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