Oi, Matheus! Tudo bom?
Desde já, peço perdão pela demora em retornar.
O objetivo principal do comando git revert
é fazer com que o nosso projeto retorne ao seu estado anterior, revertendo as alterações feitas no commit passado. Sendo assim, seu foco não está pautado em levar o projeto para um ponto mais distante.
Por outro lado, existe o comando git reset
, o qual realiza justamente essa ideia que você compartilhou com a gente. Com ele, independente do momento em que estamos no projeto, torna-se possível voltar para versões mais antigas. Consequentemente, tudo aquilo que foi adicionado nos commits 3, 4 e 5, por exemplo, serão perdidos.
Para utilizar o git reset em nosso projeto, precisamos seguir os seguintes passos:
- Encontrar o hash do ponto em que desejamos retornar. Isso pode ser feito através do comando
git log --oneline
, o qual apresenta o histórico dos commits já feitos, bem como o hash abreviado de cada um deles. Ao lado da mensagem atribuída ao commit, há um número, localize-o e copie-o. - Utilizar o comando
git reset --hard <hash-do-commit>
. Sendo o mais perigoso tipo de git reset
, este de fato retorna ao estado desejado, ignorando por completo o que estava no espaço intermediário.
Além do git reset --hard
, existe o git reset --soft
, que retorna ao ponto especificado, carregando consigo as modificações presentes no histórico de commits.
Quando estamos trabalhando com Git e Github, é muito importante focar a atenção em pontos como este que foi discutido. Em muitos casos, estaremos lidando com modificações delicadas e o uso de git revert
e git reset
sem responsabilidade pode desencadear vários conflitos. No dia a dia de uma pessoa desenvolvedora de software no mercado de trabalho, esses comandos são utilizados em casos bem específicos, não é algo de uso contínuo como add
commit
e push
.
Espero que tenha compreendido minha explicação, Matheus. Estarei aqui caso tenha alguma dúvida!
Até mais e ótimos estudos para você!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.