Resolvendo conflitos de merge
O que acontece quando duas pessoas mudam a MESMA linha — e como resolver sem entrar em pânico.
Um conflito acontece quando duas branches mudam a mesma linha de um arquivo de jeitos diferentes — o git não sabe qual versão manter, e para o merge no meio, pedindo pra você decidir.
Como o conflito aparece no arquivo
git merge feature/nova-api<<<<<<< HEAD
const API_URL = "https://api.producao.com";
=======
const API_URL = "https://api-v2.producao.com";
>>>>>>> feature/nova-apiTudo entre <<<<<<< HEAD e ======= é a versão da sua branch atual; entre ======= e >>>>>>> feature/nova-api é a versão que veio de fora. Resolver significa editar o arquivo pra ficar do jeito certo, e apagar essas marcações.
Resolvendo
const API_URL = "https://api-v2.producao.com";git add config.js # marca como resolvido
git commit # finaliza o merge (o git já sugere uma mensagem)Evitando conflito na origem
Conflito é mais comum quanto mais tempo uma branch fica sem sincronizar com main. Puxar (git pull) com frequência, e manter branches de vida curta (feature pequena, merge rápido) reduz drasticamente a chance de dois trechos de código colidirem.
Exercício
Depois de um git merge que gerou conflito em 2 arquivos, você já editou e resolveu os dois manualmente. Quais os próximos 2 comandos?