Como utilizar o git reset –hard em um commit anterior

Neste artigo você vai aprender a como utilizar o git reset –hard em um commit anterior, para desfazer a mudança para um commit específico

git reset --hard em um commit anterior capa

Fala programador(a), beleza? Bora aprender mais sobre o git reset

Quando utilizamos o comando git reset temos a opção de colocar uma hash de commit, que é o commit alvo que queremos resetar

Então o comando será:

git reset --hard <hash>

Essa hash é o id do commit, que pode ser encontrado com o comando:

git log

Nele você receberá todos os commits que já foram executados

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 114 aulas
  • 4 projetos
  • 9h 15min

O formato é:

commit <hash>

Você precisa pegar o início da hash, não é necessária ela completa e ativar o comando de git reset

Quer aprender mais sobre git? Veja este curso gratuito:

A utilização ficará algo como:

git reset --hard 98c920ed77dbd4c

Agora o seu código estará no mesmo ponto em que o branch que você resetou, simples não é? 🙂

Conclusão

Neste artigo você viu como git reset –hard em um commit anterior

Utilizamos o comando de git reset com a hash do commit

Isso é suficiente para voltar o branch para o mesmo ponto em que o commit que você escolheu está

A hash pode ser encontrada pelo comando git log, este comando vai exibir todos os commits anteriores do seu branch

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias. O link acima contém um cupom de desconto para os cursos!

Bloco novo com subtítulo ‘E se eu não quiser copiar a hash? Usando o HEAD:’

Às vezes tu não precisa nem ir no git log copiar hash

Dá pra apontar pro commit anterior contando pra trás a partir do topo, usando o HEAD

Pra voltar um commit:

git reset –hard HEAD~1

O HEAD é onde teu branch está agora, e o ~1 quer dizer ‘um commit antes’

Se quiser voltar dois, é HEAD~2, e por aí vai

É o mesmo efeito do reset com hash, só que mais rápido quando o commit que tu quer é logo ali atrás

Subtítulo ‘Cuidado com o –hard:’

Se liga nisso antes de sair rodando

O –hard descarta o que estava só no teu diretório de trabalho e ainda não tinha virado commit

Ou seja, mudança que tu não commitou some

Se tem alteração que ainda importa e não quer perder, commita ou guarda ela antes de resetar

Subtítulo ‘Dá pra desfazer um git reset –hard?’

Dá sim, na maioria das vezes

O git guarda um histórico dos lugares por onde o teu HEAD passou, e tu vê ele com:

git reflog

Ali aparece a lista com as hashes de onde o branch esteve, inclusive antes do reset

Aí é só pegar a hash do ponto que tu quer de volta e resetar pra ela de novo:

git reset –hard <hash>

Por isso o reflog é teu amigo quando resetou errado

Subtítulo ‘Qual a diferença entre –hard e –soft?’

Os dois movem o teu branch pro commit que tu escolheu

A diferença é o que acontece com as tuas mudanças

O –soft mantém as alterações prontas pra commitar de novo

O –hard joga fora, deixando tudo igualzinho ao commit alvo

Se a ideia é só reorganizar commits sem perder código, o –soft costuma ser mais seguro

Leia também

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares