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

You need to sign in or sign up before continuing.
Last edited by Pedro Henrique Tonial Pasinato Nov 12, 2024
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Fluxo e Versionamento

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 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