1
resposta

[Dúvida] Git checkout para remover uma série de commits

Boa noite, pessoal.

Fazendo alguns testes locais aqui, pensei no cenário em que queremos voltar nosso projeto para um determinado commit na linha do tempo através do comando checkout.

$ git checkout <hash> -b <branch_name>

Neste cenário, faremos nossas alterações, adicionaremos estas alterações para serem "commitadas" e posteriormente "commitamos" elas. Show de bola. Eventualmente o merge / rebase dessas alterações junto a branch de origem apresentará um ou mais conflitos. Então corrigimos os conflitos, finalizamos o merge e por fim, mas não menos importante, faremos o push para o repositório remoto.

Minha dúvida é: Neste cenário, faria sentido eu utilizar o checkout e realizar todos os steps que mencionei acima ou faria mais sentido utilizar o revert e seguir dali pra frente?

1 resposta

Oi, Fernando. Tudo bem?

Não sei se compreendi corretamente, mas depende do seu objetivo. Se você quer adicionar um commit no meio da linha do tempo (entre o commit x e y, por exemplo), mantendo os posteriores, você não pode simplesmente reverter os commits. Agora se você não se importa em perder o que aconteceu dali para frente, pode usar um git reset --hard <commit-hash>

Espero ter ajudado. 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