Oi, Flavio, tudo bem?
Peço desculpas pela demora em responder!
Não é obrigatório ou necessário desfazer o commit que está entre as alterações, neste caso o commit de merge. Porém, pode haver situações que seja necessário essa reversão, mas depende do cenário no qual estamos trabalhando, da demanda que nos é passada ou do que estamos tentando reverter.
Vale ressaltar que o comando git revert
é responsável por reverter tudo que foi feito em um determinado commit sem apagar o histórico do projeto. Basicamente esse comando cria um novo commit que registra o que foi desfeito.
Suponha que em um determinado commit que já tinha a frase:"Olá, tudo bem?", tenha sido adicionada uma linha logo abaixo com outra frase de modo que o resultado seja:
Olá , tudo bem?
Qual é o seu nome?
Ao utilizar o git revert
essa linha com a frase: "Qual é o seu nome?" vai ser desfeita, portanto voltaríamos a ter apenas a frase: "Olá, tudo bem?".
No caso do seu projeto, para reverter o commit 10, basta usar o comando:
git revert a4065d9f
Um novo commit será criado, desfazendo as alterações que foram feitas dentro do commit 10.
Para reverter as mudanças do commit 11, o comando é o mesmo, apenas o código de identificação do commit é alterado:
git revert be0fd92c
Novamente um novo commit será criado para indicar que as alterações no commit 11, foram desfeitas e voltaram a ser como eram antes desse commit.
Caso você quisesse, além de apagar os commit 10 e 11, apagar também o commit do "meio", ou seja, o de merge, poderíamos utilizar o seguinte comando:
git revert <hash do commit anterior ao que você deseja reverter>..<hash do commit mais recente>
No caso do seu projeto o código seria escrito da seguinte maneira:
git revert 43a4436f..be0fd92c
Caso durante o git revert
haja conflito entre versões basta ir no editor de código-fonte que você está utilizando para desenvolver o seu projeto, como por exemplo o Visual Studio Code (VS Code) ou o Sublime Text, e apagar a parte que não deseja manter e clicar em salvar. Em seguida digite no terminal o comando git add .
e depois utilize o comando git revert --continue
. Dessa forma, todas as alterações feitas nos commits dentro desse intervalo vão ser revertidas.
Espero ter ajudado. Caso tenha outras dúvidas, estarei à disposição!
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!