Resolvendo 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:

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:

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:

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:

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

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

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

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.

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
):

Aqui, é possível visualizar o commit de merge mais recente juntamente com a estrutura característica de um merge de três vias.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Resolvendo 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:

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:

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:

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:

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

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

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

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.

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
):

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