Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Conflito

O meu esta dando conflito quando realizo o git stash apply. Como eu poderia resolver, Já que ele

<<<<<<< Updated upstream
    <h3>Java e Orientação a Objetos</h3>
    <h4>Docker: Criando containers sem dor de cabeça testando git testando</h4>
=======
    <h3>Java e Orientação a Objetos na pratica</h3>
    <h4>Docker: Criando containers sem dor de cabeça testando</h4>
>>>>>>> Stashed changes

O que não entendi, é que no stash a unica modificação era no h3: Java e Orientação a objetos na pratica, já no commit que realizei antes de puxar a modificação no h4: Criando containers sem dor de cabeça testando git testando. Eu não entendi o porque do conflito já que fiz seguindo os passos do vídeo a única coisa diferente é que não coloquei o mesmo texto dentro das tags.

1 resposta
solução!

Oi, Pablo, tudo bem?

Peço desculpas pela demora em te responder.

Este conflito ocorre quando realizamos mudanças em uma mesma linha em branches diferentes e ao realizar o merge o git não sabe decidir sozinho qual linha deverá manter. O conflito existente, neste caso, decorre do texto dentro das tags <h3> e <h4> estar diferente gerando inconsistências em uma mesma linha trabalhada em locais diferentes.

Podemos utilizar qualquer editor de código-fonte para resolver o conflito. Neste caso recomendo que utilize o Visual Studio Code, pois ele possui ferramentas simples e práticas para lidar com essa situação. Ao abrir o arquivo index.html no Visual Studio Code, veremos os locais de conflito com cores diferentes e separados por meio de uma linha dupla (=======). Abaixo há um exemplo de como o VS Code interpreta os conflitos entre versões:

Captura de tela. Trecho de código em HTML no editor de texto Visual Studio Code. A primeira linha possui a tag “body”. Logo abaixo, há uma sequência de opções em Inglês, que significam “Aceitar mudança atual”, “Aceitar mudança recebida”, “Aceitar ambas mudanças” e “Comparar mudanças”. Abaixo, está destacado pela cor verde o código presente na branch master, o qual é separado por um conjunto de sinais de igual, indicando uma linha. Depois disso, há o código presente na nova branch que foi criada. Por fim, há a tag de fechamento de “body”.

Vale destaque para as opções que aparecem na parte superior do código conflituoso, que são: Accept Current Changes, Accept Incoming Changes, Accept Both Changes e Compare Changes. Traduzindo as opções temos: Aceitar a mudança atual (o que foi feito na branch master); Aceitar a mudança recebida (o que foi feito na outra branch); Aceitar ambas as mudanças e Comparar mudanças. Ao clicar na opção que mais se encaixar para o seu cenário, o conflito será resolvido, basta clicar no botão da opção que deseja manter.

Outra forma de resolução, é apagar manualmente a linha que deseja excluir e deixar apenas o código que deseja manter. Supondo que você deseja manter os dizeres: "Java e orientação a Objetos na prática" e "Docker: Criando containers sem dor de cabeça testando", você precisará apagar os códigos referentes ao Updated upstream:

<<<<<<< Updated upstream
    <h3>Java e Orientação a Objetos</h3>
    <h4>Docker: Criando containers sem dor de cabeça testando git testando</h4>
=======

Dessa forma restará apenas os códigos referente ao Stashed changes, como mostro abaixo:

    <h3>Java e Orientação a Objetos na pratica</h3>
    <h4>Docker: Criando containers sem dor de cabeça testando</h4>

Espero ter ajudado. Caso tenha outras dúvidas, estarei à disposição!

Sucesso!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software