Como resolver conflitos no git?

Quando tento puxar, tenho a seguinte mensagem:
Automatic merge failed; fix conflicts and then commit the result.

Então, eu tento corrigir o conflito (como git sugere) para que eu siga estas instruções.

entre as primeiras coisas que eu preciso fazer é abrir o arquivo "problemático" em um editor de texto e encontrar linhas como essa

If you have questions, please
<<<<<<< HEAD
open an issue
=======
ask your question in IRC.
>>>>>>> branch-a
O problema é que não vejo coisas assim no meu ficheiro. Em particular, procurei por cabeça e ela não está lá.

Author: Roman, 2017-12-01

2 answers

Existem várias maneiras de resolver conflitos git, eu vou explicar aqui usando GUI e editor de texto maneira.

Resolver o conflito do git usando o editor de texto.

Abra qualquer um do seu editor favorito, por exemplo, Notepad, gedit, vim, nano ou até Eclipse.

  1. Sempre que houver conflito num ficheiro git adicione um marcador de conflito que se pareça com este <<<<<<<<.

  2. Quando você abrir o arquivo em seu editor de texto, você verá as alterações da cabeça ou base ramo após a Linha <<<<<<< HEAD

  3. ========, divide as tuas mudanças do outro ramo como >>>>>>>>YOUR_BRANCH_NAME

  4. Você pode decidir se você quer manter suas mudanças de branch ou não. Se quiser manter as alterações que fez, remova o marcador de conflito que são, <<<<<<<, =======, >>>>>>> e depois faça uma junção.

Comandos para enviar as alterações.

git add . or git add "your_file"
git commit -m "Merge conflicts resolved"

Resolver um conflito git é a tua interface gráfica.

E se você tiver tantos conflitos de fusão em arquivos? Nesse caso você pode usar GUI, bem é apenas uma escolha pessoal se optar por GUI ou não. Na GUI, você pode ver lado a lado diff. É fácil para os principiantes ver as mudanças.

Tem de configurar o seu git para usar o mergetool que deseja usar. Exemplo: fusão, kdiff3 ou vimdiff. Mais uma vez cabe ao usuário o que eles preferem. Eu uso o elo. Aqui você precisa instalar esta ferramenta, após a instalação você tem que configurá-la.

git config merge.tool meld 

Você pode resolver conflitos de junção

git mergetool -t meld

Então você pode siga o PASSO 2 a 4 de resolver usando o editor de texto, para resolver os conflitos de junção.

 4
Author: danglingpointer, 2017-12-01 12:02:00

Pode utilizar o seguinte,

git mergetool --tool=kdiff3
 -1
Author: bkayranci, 2017-12-01 09:13:19