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 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
  • Polymathech
  • WikiWiki
  • Wiki
  • processo

Last edited by Arthur Land Avila Apr 06, 2024
Page history

processo

Home Sprints Escopo Processo Design/Mockups Configuração Arquitetura Gerência Código BD Qualidade Frontend Backend Analytics

GitLab Flow

O Gitlab Flow é uma alternativa ao Gitflow, tendo como principais características sua simplicidade, transparência e efetividade. Esse workflow possui como branch principal a branch Main, de onde são ramificadas as Feature Branches para o desenvolvimento de novas funcionalidades da aplicação, e possui também uma branch Staging utilizada para o deploy da aplicação em um ambiente de homologação.

Ao finalizar o desenvolvimento de uma nova feature, é aberto um Merge Request de uma Feature Branch para a branch Main. O Merge Request só deve ser aprovado após passar por uma revisão e após a conclusão dos testes automatizados. Ao final de cada Sprint, é possível gerar uma tag da versão atual da branch Main e então executar um Fast-forward Merge desta branch para a branch Staging, recebendo assim a versão mais atualizada da aplicação disponível para ser analisada em um ambiente de homologação.

gitlab-flow.svg

Passo-a-passo

Nomes para Branches

Cada nova branch deve ser aberta a partir da branch Main. Sendo assim, para manter o controle do desenvolvimento da aplicação, essas novas branches devem seguir as seguintes nomenclaturas:

  • Novas funcionalidades: feat/<cod-da-US>-<título-da-US>
  • Correção de bug: bug/<cod-da-US>-<título-da-US>
  • Manutenção ou atualização do código: chore/<cod-da-US>-<título-da-US>
  • Refatoração: refactor/<cod-da-US>-<título-da-US>
  • Testes: test/<cod-da-US>-<título-da-US>

Exemplo: feat/US05-AutenticacaoDeUsuarios

Clonando um repositório

Em sua máquina local, abra um terminal de commando no diretório desejado e insira o seguinte commando:

git clone <URL-do-repositório>

Exemplo: git clone https://tools.ages.pucrs.br/polymathech/polymathech-backend.git

Atualizando um repositório local

É sempre importante manter o repositório local atualizando, evitando assim muitos problemas indesejados durante o desenvolvimento das atividades. Esse recurso é sempre muito importante antes de serem criadas novas branches. Utilize então o seguinte comando:

git pull origin main

Caso você já esteja trabalhando em uma nova branch, seja ela compartilhada com outros desenvolvedores ou não, e queira atualizá-la em relação ao repositório remoto, é possível utilizar apenas o comando git pull.

Criando uma nova branch

Entre dentro do diretório do repositório recém clonado utilizando um terminal de commando na sua máquina local, e então digite o seguinte commando:

git checkout -b <nome-da-branch>

Exemplo: git checkout -b bug/US19-CorrecaoDosTestesUnitarios

Após criar sua branch, use o seguinte commando para que ela fique disponível na plataforma Tools da Ages:

git push --set-upstream origin <nome-da-branch>

Exemplo: git push --set-upstream origin bug/US19-CorrecaoDosTestesUnitarios

Commits

Ao realizar modificações importantes no código ou finalizar o desenvolvimento de uma funcionalidade da aplicação, é importante salvar as alterações feitas. Para isso realize um Commit da alterações, ou seja, crie um ponto de controle na 'história' do projeto. Para isso, navegue até a raiz do repositório no qual esteja trabalhando, abra um terminal de commando e siga os seguintes passos:

  • Antes de realizar um commit, adicione um ou mais arquivos em staging (área para agrupar as alterações a serem salvas). Para isso utilize o comando git add <nome-do-arquivo> para adicionar um ou mais arquivos, ou git add . para adicionar em staging todos arquivos modificados.

Exemplo: git add users-repository.ts

  • Após adicionar os arquivos em staging, acrescente uma mensagem/comentário resumindo as alterações que foram realizadas utilizando o comando `git commit -m "mensagem-sobre-as-modificacoes".

Exemplo: git commit -m "Adicionando rota para cadastrar um novo usuário"

  • Após realizar o commit, envie as alterações para o repositório remoto utilizando o comando git push.

Merge Request

Quando o desenvolvimento de uma determinada funcionalidade da aplicação estiver concluída, é necessário que essas alterações sejam enviadas para a branch Main utilizando um Merge Request. Para realizar o Merge Request primeiro verifique se não há novos commits na branch Main que não estejam na sua branch. Para isso, utilize os seguintes comandos em sua máquina local:

  • Mude para a branch que esteja trabalhando: git checkout <nome-da-branch>

Exemplo: git checkout feat/US04-RotaDeCadastroDeUsuarios

  • Verifique se sua branch está atualizada em relação a branch Main: git pull origin main

Este comando irá realizar um merge da Main para a sua branch se caso houverem novas informações na branch Main remota. Se caso houverem conflitos, resolva-os manualmente antes de ir para o próximo passo.

  • Se existirem alterações, envie elas para sua branch no repositório remoto: git push

  • Abra o repositório remoto em seu browser, e então realize o Merge Request manualmente.

As seguintes informações são necessárias para abrir um novo Merge Request:

  • Source branch:
  • Target branch: main
  • Título: <código-da-US>:<título-da-US>
  • Descrição: <breve-descrição-da-US>
  • (Opcional) Reviewer:
Clone repository
  • Banco de Dados
  • Sprints
  • analytics
  • arquitetura
  • backend
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • frontend
  • gerencia
  • Home
  • processo
  • qualidade