Como resolve conflitos no Git?
sobes.tech IA
Resposta da IA
Quando se faz um pull ou rebase, ocorre uma fusão de alterações. Se o Git não conseguir resolver automaticamente as linhas em conflito nos ficheiros, ele marca-as com marcadores especiais:
<<<<<<< HEAD
linha do ramo atual
=======
linha do ramo que está a ser fundido
>>>>>>> feature/nova-funcionalidade
Para resolver o conflito:
-
Abra o ficheiro em conflito num editor.
-
Edite manualmente o ficheiro, escolhendo as partes necessárias de ambas as versões ou criando uma nova combinação.
-
Elimine os marcadores
<<<<<<<,=======,>>>>>>>. -
Guarde o ficheiro.
-
Adicione o ficheiro resolvido ao índice com
git add:# Adicionar um ficheiro específico git add caminho/para/ficheiro/resolvido.txt # Adicionar todos os ficheiros resolvidos git add . -
Faça um commit para completar a fusão:
# Durante a fusão git commit -m "Resolução do conflito de merge" # Durante rebase git rebase --continue
Se houver muitos conflitos ou forem complexos, pode usar ferramentas de fusão:
git mergetool
Isto abrirá uma ferramenta gráfica que ajuda a percorrer os conflitos passo a passo.
Em caso de dificuldades durante o rebase, pode usar:
git rebase --abort: Cancelar o rebase e regressar ao estado anterior.git rebase --skip: Ignorar o commit em conflito atual (pode ser perigoso).
É importante testar as alterações após resolver os conflitos para garantir que o código funciona corretamente.