Aula 05 – Resolução de Conflitos: O Dilema da Escolha
🎯 Objetivos de Aprendizagem
- Entender o que é um conflito de merge (Merge Conflict).
- Identificar por que conflitos acontecem e como o Git os detecta.
- Aprender a ler e interpretar os marcadores de conflito (
<<<<<<<,=======,>>>>>>>). - Resolver conflitos manualmente através do terminal ou editor de código.
📚 Conteúdo
1. O que é um Conflito?
O Git é excelente em unir alterações automaticamente. Se você altera o cabeçalho e um colega altera o rodapé, o git merge faz o trabalho sozinho. Porém, se ambos alterarem a mesma linha de formas diferentes, o Git entra em "segurança": ele para o processo e pergunta: "Quem está certo?".
graph TD
A[Commit Inicial] --> B[Branch A: Título Vermelho]
A --> C[Branch B: Título Azul]
B --> D{TENTATIVA DE MERGE}
C --> D
D --> E[CONFLITO!] O Conflito é um Recurso
O conflito não é um erro do sistema, mas um mecanismo de segurança para evitar que o Git apague o trabalho de alguém sem supervisão humana.
2. Anatomia de um Conflito
Quando o conflito acontece, o Git modifica o arquivo e adiciona marcadores visuais.
Identificando Marcadores
O arquivo ficará assim até você editá-lo:
3. Como Resolver: O Passo a Passo
A resolução é um processo manual e envolve 3 etapas fundamentais:
# 2. Abra o arquivo no seu editor, escolha a versão final e APAGUE os marcadores (<<<<, ====, >>>>)# 3. Marque como resolvidogit add arquivo.txt# 4. Finalize o mergegit commit
Dica de Ouro
Muitas vezes, a melhor solução não é escolher uma ou outra versão, mas sim criar uma terceira versão que combine as ideias de ambas as partes. Comunique-se com seu time!
📝 Prática
Exercícios de Fixação
Enfrente seu primeiro conflito em um ambiente controlado e seguro. Ver Exercícios da Aula 05
Mini-Projeto
Simulando um conflito no seu portfólio para dominar a resolução manual. Ver Projeto da Aula 05