Sobes.tech
Junior

Como cancelar o último commit no sistema de controlo de versões?

sobes.tech IA

Resposta da IA

Ao usar o Git, existem várias formas:

1. Desfazer o último commit, mantendo as alterações:

git reset --soft HEAD~1
# Desfaz o último commit, as alterações indexadas permanecem
# O diretório de trabalho não é alterado

2. Desfazer o último commit, cancelando as alterações indexadas, mas mantendo as alterações de trabalho:

git reset --mixed HEAD~1
# Desfaz o último commit e cancela a indexação das alterações
# O diretório de trabalho não é alterado

3. Desfazer completamente o último commit, incluindo as alterações:

git reset --hard HEAD~1
# Desfaz completamente o último commit
# As alterações indexadas e o diretório de trabalho voltarão ao estado anterior ao último commit
# Todas as alterações não salvas no diretório de trabalho serão perdidas

4. Criar um novo commit que desfaz as alterações do último:

git revert HEAD
# Cria um novo commit que desfaz as alterações do último commit
# A história é preservada, é uma forma segura ao trabalhar com ramos públicos

A escolha depende do resultado desejado e se o ramo foi publicado. --hard deve ser usado com cautela, pois pode levar à perda de dados. git revert é preferido ao trabalhar com ramos utilizados por outros desenvolvedores.