| 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.
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, ougit 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: