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 resolvê-lo.
Primeiro, abra o arquivo branch_learning.txt no editor Vim usando o seguinte comando:
vim branch_learning.txt
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.
Aqui está 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 opções a seguir:
- 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, entre no modo insert no Vim pressionando i.
Isso permite editar o texto.
2. Edite a Seção em Conflito
Em seguida, combine as linhas de ambos os branches de forma sequencial. O conteúdo resultante do arquivo deve ser o seguinte:
New branch
New line from the master branch
New line from the feature branch
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:
Comitando o arquivo
Como os conflitos foram resolvidos, adicione o arquivo branch_learning.txt à staging area e verifique o status:
git add branch_learning.txt
git status
O arquivo foi modificado e adicionado com sucesso à área de staging. Agora prossiga para commitar:
git commit
Mais uma vez, o editor de texto padrão é aberto (Vim neste caso) com a mensagem de commit padrão referente ao merge:
Entre no 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.
Aqui está a mensagem de commit completa:
Merge branch 'feature/new-feature'
Kept lines from both branches
Para sair do modo de inserção, salvar as alterações e fechar o Vim, pressione a tecla Escape, depois digite :wq e pressione Enter.
O commit foi realizado com sucesso e o conflito de merge está resolvido.
Agora vamos analisar nosso histórico de commits como um gráfico (opção --graph) com uma linha por commit (opção --oneline):
git log --graph --oneline
Aqui, é possível visualizar o commit de merge mais recente junto 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