Se você já se deparou com aquelas setas e sinais de igual («««<, =======, »»»>) espalhados pelo seu código após um merge, sabe o quanto pode ser confuso e propenso a erros resolver tudo manualmente.

É aqui que entra o Git Mergetool. Neste artigo, vamos configurar o VS Code para atuar como uma interface visual de resolução de conflitos, transformando um momento de estresse em uma tarefa simples de poucos cliques.

O que é o Mergetool? Link para o cabeçalho

O git mergetool é um comando que lança uma interface externa para ajudar você a resolver conflitos de merge. Em vez de editar o arquivo de texto puro, você usa um Merge Editor, que coloca as versões em conflito lado a lado para comparação. Isso evita que você apague acidentalmente uma chave ou um parêntese importante ao tentar remover as marcações do Git.

Configurando o VS Code como seu Mergetool Link para o cabeçalho

Para que o Git saiba que deve abrir o VS Code quando houver um problema, precisamos fazer uma configuração rápida no terminal.

1. Definindo o VS Code como ferramenta padrão Link para o cabeçalho

Abra o seu terminal e execute os seguintes comandos:

Para o merge: git config –global merge.tool code git config –global mergetool.code.cmd “code –wait $MERGED”

2. Configurando o Diff (Opcional) Link para o cabeçalho

Também é muito útil ver a diferença entre arquivos usando a interface do VS Code:

Para o diff: git config –global diff.tool code git config –global difftool.code.cmd “code –wait –diff $LOCAL $REMOTE”

Na Prática: Resolvendo um Conflito Link para o cabeçalho

Imagine que você tentou um “git merge” e o terminal retornou a temida mensagem: Automatic merge failed; fix conflicts.

Passo 1: Inicie a ferramenta Link para o cabeçalho

Em vez de abrir os arquivos manualmente, digite no terminal: git mergetool

Passo 2: O Merge Editor do VS Code Link para o cabeçalho

O VS Code abrirá automaticamente. Nos arquivos com conflito, você verá um botão chamado “Open Merge Editor” no canto inferior direito. Ao clicar nele, a tela se dividirá de forma inteligente:

  • Incoming (Topo Esquerdo): As mudanças que estão chegando da outra branch (de onde você está puxando o código).

  • Current (Topo Direito): As suas mudanças locais (onde você está trabalhando agora).

  • Result (Baixo): Uma prévia de como o arquivo ficará após a sua decisão.

Basta marcar as caixas de seleção da versão que deseja manter e clicar em “Complete Merge”.

Dica de Ouro: Limpando a “Sujeira” (.orig) Link para o cabeçalho

Por padrão, o Git cria arquivos temporários com a extensão .orig para servir de backup durante o merge. Se você não quer que esses arquivos fiquem poluindo sua pasta após a resolução, você pode desativar essa função com o comando:

git config –global mergetool.keepBackup false

Conclusão Link para o cabeçalho

Configurar um mergetool é um daqueles pequenos ajustes de fluxo de trabalho que salvam horas de trabalho e evitam que bugs entrem no código por causa de uma marcação de conflito esquecida no meio do arquivo.

Agora que seu ambiente está configurado, resolver conflitos será apenas uma questão de escolha visual, e não uma caça ao tesouro por linhas de código perdidas.