Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Wiki Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • HoorTech
  • WikiWiki
  • Wiki
  • Fluxo e Versionamento

Last edited by Pedro Henrique Tonial Pasinato Nov 12, 2024
Page history

Fluxo e Versionamento

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 da develop.

Visualização do Fluxo

02_Feature_branches.svg

Fluxo de Trabalho

  1. 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
  2. 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 o git add:
      git add .
      git commit -m "tipo(escopo): descrição"
  3. 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

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:

  1. Entre no repositório que você atualizou, vá ao menu Merge Requests, e clique no botão "New merge request";
  2. Para a source branch, selecione a sua branch, e, para a target branch, selecione a branch develop;
  3. Escreva um título e uma descrição para a sua merge request;
  4. Para assignee, defina a você mesmo, e, para reviewer, selecione o colega apropriado*;
  5. 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.
  1. Correções Urgentes (Hotfixes)
    • Crie uma branch de hotfix a partir da main, corrija o problema e mescle tanto na main quanto na develop.

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
Clone repository
  • Arquitetura Geral
  • Back End
  • Banco de Dados
  • Design do Sistema e Mockups
  • Fluxo e Versionamento
  • Front End
  • Infraestrutura e Orçamento
  • Planejamento
  • Home