Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C Cosmos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • 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
  • Cosmos
  • Cosmos
  • Wiki
  • Git Workflow

Last edited by Leonardo Vargas Soares Nov 17, 2024
Page history

Git Workflow

Home Escopo Git Workflow Design/Mockups Configuração Arquitetura Gerência BD Qualidade

Sumário

  • Sumário
    • Critério de aceite de Merge Requests (MR)
    • Opções de Ferramentas
      • GitKraken
      • GitBash (Windows)
    • Modelo GitFlow
    • Branches protegidas
      • Main
      • Develop
    • Branches não protegidas
      • Feature
      • Fix
      • Hotflix
      • Chore
    • Padrão para criação de branches
    • Padrão para as mensagens de commit
    • Padrão para abertura de Merge Request
    • Comandos básicos

Critério de aceite de Merge Requests (MR)

  • Branch testada;
  • Branch atualizada com a DEV;
  • Arquitetura Respeitada;
  • Código Limpo;
  • Boas práticas atendidas.

Opções de Ferramentas

GitKraken

  • Download do GitKraken.
    essa ferramenta facilita o uso do git através de uma interface intuitiva

GitBash (Windows)

  • Download do GitBash.

Modelo GitFlow

  • O Gitflow é um modelo alternativo de ramificação do Git que consiste no uso de ramificações de recursos (features) e várias ramificações primárias (main e development).

Fluxo_GIT

Branches protegidas

Main

Principal branch, aqui é onde temos todo o código de produção. Todas as novas funcionalidades que estão sendo desenvolvidas, em algum momento, serão mescladas ou associadas a Main. A branch é protegida e só pode ser alterada a partir de Merge Requests vindo diretamente da branch develop ou de branches de hotfix. Apenas AGES III e IV podem fazer merge dos MRs e realizar alterações nessa branch.

Develop

É a branch onde fica o código do próximo deploy. Ela serve como uma linha do tempo com os últimos desenvolvimentos, isso significa que ela possui funcionalidades que ainda não foram publicadas e que posteriormente vão ser associadas com a branch Main. Essa branch é protegida para modificação que não seja através de Merge Requests. Qualquer AGES pode criar um MR para a brach de desenvolvimento.

Branches não protegidas

Feature

São branches utilizadas para o desenvolvimento de funcionalidades específicas. É importante saber que essas branches são criadas sempre a partir da branch develop. Portanto, quando finalizada, elas são removidas após realizar o merge com a branch develop.

Fix

É uma branch para correção de bugs identificados ainda em desenvolvimento. Após o merge com a develop elas são removidas.

Hotflix

É uma branch criada a partir da main para realizar correções imediatas encontradas no sistema em produção. Quando concluída, ela é excluída após realizar o merge com as branches main e develop.

Chore

É uma branch para configuração. O padrão de nomenclatura é chore/ onde representa uma breve descrição do que está sendo configurado nessa branch. Exemplo: chore/pipeline-ci.

Padrão para criação de branches

As branches criadas para desenvolvimento das funcionalidades pelas squads devem seguir o padrão de acordo com seu objetivo:

Tags para os tipos de alterações:

  • feature - Nova funcionalidade
  • fix - Correção de defeito
  • hotflix - Correção de bug em produção
  • chore - Configuração

feature/NUMERO_US_BREVE_DESCRICAO

Exemplo: feature/US_01_Feed_Destaques

Padrão para as mensagens de commit

Os commits deverão ter um padrão em suas mensagens para facilitar o entendimento da equipe no que foi desenvolvido:

"Descrição breve do commit - Autores (caso realizado em equipe)"

Exemplo: "Criação do Feed Destaques - Autores: Felipe Baptista e Gabriel Spiandorello"

OBS: Caso as atividades do commit tenham sido realizadas individualmente não é necessário informar os autores, porque a única pessoa envolvida será quem está subindo o commit.

Padrão para abertura de Merge Request

Todo MR deve ter obrigatoriamente a aprovação de um AGES III ou de um AGES IV antes de ser mergeada para a develop. Os merge requests também devem seguir um padrão de criação:

O Title deve ser escrito US XX - Título do Card no Azure e na Description deve ser informado o link para o card. Exemplo:

Title: US 01 - Feed Destaques
Description: link do card do Azure

Comandos básicos

  • clonar um repositório:
    git clone ADICIONAR URL
  • verificar o status do repositório:
    git status
  • CRIAR uma nova branch:
    git checkout -b <branch desejada>
  • ALTERNAR para uma branch:
    git checkout <branch desejada>
  • add arquivos alterados e dar um commit na branch:
    git commit -a -m 'adicionei um novo rodapé [issue 53]'
  • primeira vez a enviar os dados para o repositório.
    git push origin <branch desejada>
  • reenviar os dados para o repositório.
    git push
  • baixar os dados do repositório.
    git pull
  • fazer um merge em duas branch's.
    git merge <nome da branch>
Clone repository
  • Arquitetura
  • Banco de Dados
  • Configuracao
  • Design_mockups
  • Escopo
  • Gerencia
  • Git Workflow
  • Qualidade
  • Home