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
This is an old version of this page. You can view the most recent version or browse the history.

processo

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