Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Resolvendo Conflitos de Mesclagem | Trabalhando com Branches no Git
Git Essentials

bookResolvendo Conflitos de Mesclagem

Corrigindo Conflitos

No capítulo anterior, ocorreu um conflito de mesclagem, então agora é hora de corrigi-lo. Primeiro, abra o arquivo branch_learning.txt no editor Vim usando o seguinte comando:

Abrindo o Vim

Se o Vim não estiver instalado, você pode usar outro editor de texto como nano ou atom substituindo vim pelo nome do seu editor no comando acima.
No entanto, recomenda-se utilizar o Vim para facilitar o acompanhamento dos passos apresentados aqui.

Veja o arquivo aberto no editor Vim:

Arquivo com conflitos aberto no Vim

Agora é possível visualizar os marcadores de conflito que indicam as seções conflitantes.
Esses marcadores utilizam setas e símbolos especiais para destacar as diferenças entre os branches:

  • <<<<<<< HEAD; indica o início das alterações do branch atual (master);
  • =======; separa as alterações do branch atual (HEAD) e aquelas do branch que está sendo mesclado;
  • >>>>>>> feature/new-feature; indica o fim das alterações do branch que está sendo mesclado.

Para resolver o conflito, escolha uma das seguintes opções:

  • Manter as alterações do branch atual (master);
  • Manter as alterações do branch mesclado (feature/new-feature);
  • Editar manualmente o conteúdo.

Edite manualmente o arquivo combinando as alterações de ambos os branches seguindo os passos abaixo:

1. Entrar no modo de edição

Primeiro, acesse o modo insert no Vim pressionando i. Isso permite editar o texto.

2. Editar a Seção em Conflito

Em seguida, combine as linhas de ambos os branches de forma sequencial. O conteúdo resultante do arquivo deve ficar assim:

Resolvendo o conflito

3. Sair do Modo de Edição, Salvar e Sair

Pressione a tecla Escape para sair do modo de inserção. Em seguida, digite :wq e pressione Enter para salvar as alterações e sair do Vim:

Saindo do Vim

Commitando o Arquivo

Como os conflitos foram resolvidos, adicione o arquivo branch_learning.txt à staging area e verifique o status:

Adicionando arquivo resolvido

O arquivo foi modificado e adicionado com sucesso à área de preparação. Agora prossiga para realizar o commit:

Realizando o commit do arquivo

Mais uma vez, o editor de texto padrão é aberto (Vim neste caso) com a mensagem de commit padrão referente à mesclagem:

Mensagem de commit padrão

Acesse o modo de inserção no Vim pressionando i, depois modifique a mensagem adicionando a linha Kept lines from both branches para descrever como os conflitos foram resolvidos.

Segue a mensagem de commit completa:

Para sair do modo de inserção, salvar as alterações e fechar o Vim, pressione a tecla Escape, digite :wq e pressione Enter.

Salvando a mensagem modificada e saindo do Vim

O commit foi realizado com sucesso e o conflito de merge foi resolvido.

Agora, vamos analisar nosso histórico de commits como um gráfico (flag --graph) com uma linha por commit (flag --oneline):

Gráfico do histórico de commits

Aqui, é possível visualizar o commit de merge mais recente juntamente com a estrutura característica de um merge de três vias.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 6

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain what a three-way merge is?

How do I interpret the output of `git log --graph --oneline`?

What should I do if I see unexpected results in the commit graph?

Awesome!

Completion rate improved to 3.57

bookResolvendo Conflitos de Mesclagem

Deslize para mostrar o menu

Corrigindo Conflitos

No capítulo anterior, ocorreu um conflito de mesclagem, então agora é hora de corrigi-lo. Primeiro, abra o arquivo branch_learning.txt no editor Vim usando o seguinte comando:

Abrindo o Vim

Se o Vim não estiver instalado, você pode usar outro editor de texto como nano ou atom substituindo vim pelo nome do seu editor no comando acima.
No entanto, recomenda-se utilizar o Vim para facilitar o acompanhamento dos passos apresentados aqui.

Veja o arquivo aberto no editor Vim:

Arquivo com conflitos aberto no Vim

Agora é possível visualizar os marcadores de conflito que indicam as seções conflitantes.
Esses marcadores utilizam setas e símbolos especiais para destacar as diferenças entre os branches:

  • <<<<<<< HEAD; indica o início das alterações do branch atual (master);
  • =======; separa as alterações do branch atual (HEAD) e aquelas do branch que está sendo mesclado;
  • >>>>>>> feature/new-feature; indica o fim das alterações do branch que está sendo mesclado.

Para resolver o conflito, escolha uma das seguintes opções:

  • Manter as alterações do branch atual (master);
  • Manter as alterações do branch mesclado (feature/new-feature);
  • Editar manualmente o conteúdo.

Edite manualmente o arquivo combinando as alterações de ambos os branches seguindo os passos abaixo:

1. Entrar no modo de edição

Primeiro, acesse o modo insert no Vim pressionando i. Isso permite editar o texto.

2. Editar a Seção em Conflito

Em seguida, combine as linhas de ambos os branches de forma sequencial. O conteúdo resultante do arquivo deve ficar assim:

Resolvendo o conflito

3. Sair do Modo de Edição, Salvar e Sair

Pressione a tecla Escape para sair do modo de inserção. Em seguida, digite :wq e pressione Enter para salvar as alterações e sair do Vim:

Saindo do Vim

Commitando o Arquivo

Como os conflitos foram resolvidos, adicione o arquivo branch_learning.txt à staging area e verifique o status:

Adicionando arquivo resolvido

O arquivo foi modificado e adicionado com sucesso à área de preparação. Agora prossiga para realizar o commit:

Realizando o commit do arquivo

Mais uma vez, o editor de texto padrão é aberto (Vim neste caso) com a mensagem de commit padrão referente à mesclagem:

Mensagem de commit padrão

Acesse o modo de inserção no Vim pressionando i, depois modifique a mensagem adicionando a linha Kept lines from both branches para descrever como os conflitos foram resolvidos.

Segue a mensagem de commit completa:

Para sair do modo de inserção, salvar as alterações e fechar o Vim, pressione a tecla Escape, digite :wq e pressione Enter.

Salvando a mensagem modificada e saindo do Vim

O commit foi realizado com sucesso e o conflito de merge foi resolvido.

Agora, vamos analisar nosso histórico de commits como um gráfico (flag --graph) com uma linha por commit (flag --oneline):

Gráfico do histórico de commits

Aqui, é possível visualizar o commit de merge mais recente juntamente com a estrutura característica de um merge de três vias.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 6
some-alt