Início / Tutoriais / VS Code e Git
Resolução de Problemas
Conflitos Merge Request
A resolução de conflitos de código é da responsabilidade do programador que está a desenvolver a tarefa. Assim, quando existe um conflito ao efetuar um Merge Request (MR), o mesmo deve tratar o mesmo antes de prosseguir. Abaixo, fica o procedimento para o fazer mediante a branch de destino.
Branch de destino: master
Quando a branch de destino do MR é a master deve ser feito um MR inverso para resolução de conflitos, isto é, efetuar um Merge Request da branch master para a branch de desenvolvimento. Assim, qualquer código que esteja a causar conflito será tratado na própria branch de desenvolvimento e não causará problemas futuros.
Para tal, devemos então efetuar o seguinte:
- Ter previamente criado o Merge Request da branch de desenvolvimento para a branch master (onde o conflito correu)
- No VS Code, alterar para a branch de desenvolvimento
- Na consola do VS Code, colocar o seguinte comando:
git merge origin/master
- Resolver os conflitos mediante apresentado na barra lateral esquerda do VS Code.
- Efetuar Commit & Push
Neste momento, no MR do ponto 1., o conflito deverá ter desaparecido.
Branch de destino: w2m-staging
Ao contrário de quando o MR se destina à branch w2m, na w2m-staging não podemos utilizar o método de merge inverso para a própria branch pois iríamos trazer para uma branch desenvolvimentos que ainda não estão validados. Isto iria causar problemas ao fazermos Merge para a branch de produção (w2m) pois iriamos enviar todos os desenvolvimentos de testes. Para evitar esta situação, será necessário criar uma branch auxiliar, cópia da branch de desenvolvimento.
Para tal, devemos efetuar o seguinte:
- Fechar o MR original
- Criar uma branch temporária com base na branch de desenvolvimento com o nome:
<numero-issue>-tmp-staging
Exemplo: 312-tmp-staging
- Alterar para a nova branch e na consola do VS Code executar o seguinte comando:
git merge origin/w2m-staging
- Resolver os conflitos mediante apresentado na barra lateral esquerda do VS Code.
- Efetuar Commit & Push
- Abrir novo Merge Request da branch temporária para a branch w2m-staging

- Escolher a opção Delete source branch when merge request is accepted. Isto garante que a branch é apagada após efetuado o MR. Esta opção apenas deve ser escolhida quando se trata das branches temporárias.
↑ (Última atualização: 18/11/2024)