Junior
¿Cómo deshacer el último commit en el sistema de control de versiones?
sobes.tech AI
Respuesta de la IA
Cuando se usa Git, hay varias formas:
1. Deshacer el último commit, manteniendo los cambios:
git reset --soft HEAD~1
# Deshace el último commit, los cambios en el índice permanecen
# El directorio de trabajo no cambia
2. Deshacer el último commit, cancelando los cambios en el índice, pero manteniendo los cambios en el trabajo:
git reset --mixed HEAD~1
# Deshace el último commit y cancela la indexación de cambios
# El directorio de trabajo no cambia
3. Deshacer completamente el último commit, incluyendo los cambios:
git reset --hard HEAD~1
# Deshace completamente el último commit
# Los cambios en el índice y en el directorio de trabajo volverán al estado previo al último commit
# Todos los cambios no guardados en el directorio de trabajo se perderán
4. Crear un nuevo commit que deshaga los cambios del último:
git revert HEAD
# Crea un nuevo commit que deshace los cambios del último commit
# La historia se mantiene, es una forma segura al trabajar con ramas públicas
La elección depende del resultado deseado y si la rama ha sido publicada. --hard debe usarse con precaución, ya que puede llevar a pérdida de datos. git revert es preferido cuando se trabaja con ramas que otros desarrolladores usan.