Olá, Lucas!
Entendo a sua confusão, o comando git reset --hard
pode parecer um pouco complexo no início. Vamos esclarecer isso juntos.
Quando você usa o comando git reset --hard
seguido do ID do commit, você está voltando o estado do seu código para o momento em que aquele commit foi feito. Ou seja, se você tem 5 commits e usa o comando git reset --hard
no commit 2, o seu código vai voltar ao estado que estava no momento do commit 2.
No entanto, os commits 3, 4 e 5 não são apagados permanentemente. Eles ainda existem no repositório, mas não serão visíveis no seu histórico de commits. Se você quiser voltar a esses commits, você precisará do ID deles.
Agora, se você quer retirar apenas o último commit, você pode usar o comando git reset --hard HEAD~1
. O HEAD~1
é uma referência ao commit anterior ao último commit. Assim, o seu código voltará ao estado do penúltimo commit, e o último commit será removido do seu histórico.
Lembre-se, use o comando git reset --hard
com cuidado, pois ele descarta todas as alterações feitas após o commit especificado, tanto no seu código quanto no histórico de commits.
Espero ter ajudado e bons estudos!