Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Cancelación de commits Introducción a Git

🦸 Git al rescate: Todos cometemos errores, pero con Git, corregirlos es fácil y seguro.

En esta lección, aprenderás a deshacer o revertir cambios con dos comandos clave: git revert y git reset. Veremos cuándo usarlos y cómo aplicarlos correctamente. ¡Manos a la obra!


¿Por qué es importante saber revertir cambios?

Incluso los desarrolladores más experimentados cometen errores al trabajar con Git. Algunos de los casos más comunes incluyen:

  • Olvidar agregar archivos necesarios en un commit.
  • Necesitar hacer ajustes sobre cambios ya registrados.
  • Eliminar cambios que ya no son relevantes.
  • Deshacer cambios realizados por error.

Lo más importante es que Git es un sistema que casi siempre nos permite recuperar nuestro trabajo, así que no hay que preocuparse demasiado si algo sale mal.

Sin embargo, hay un principio clave en Git: el historial de commits casi siempre se mantiene hacia adelante.

En la mayoría de los casos, lo mejor es solucionar un problema con un nuevo commit, en lugar de modificar el historial.

git revert: Deshacer cambios de manera segura

Una forma segura de corregir un error en Git es utilizando el comando git revert. Este comando no elimina el commit original, sino que crea un nuevo commit que revierte los cambios del commit equivocado.

Podemos imaginarlo de la siguiente manera: si un commit eliminó un archivo, git revert creará otro commit que lo restaure.

Revert


Supongamos que eliminamos un archivo llamado PEOPLE.md en un commit anterior. Podemos revertirlo con el siguiente comando:

# Revertir un commit específico usando su ID
git revert aa600a43cb164408e4ad87d216bc679d097f1a6c

Cuando ejecutamos este comando, Git abrirá un editor para escribir el mensaje del commit de reversión. Si no queremos cambiarlo, simplemente cerramos el editor y Git aplicará el cambio.

Después de esto, si revisamos el historial con git log, veremos que hay un nuevo commit que revierte el commit erróneo.

Ventajas de git revert

✅ No elimina la historia del proyecto.
✅ Es seguro de usar, incluso cuando el código ya ha sido enviado a un repositorio remoto.
✅ Podemos revertir cualquier commit, no solo el más reciente.


git reset: Eliminar commits

git reset es un comando más agresivo que puede eliminar commits del historial de Git. Se debe usar con precaución porque puede hacer que los cambios desaparezcan completamente si no se usa correctamente.

Este comando es útil cuando queremos eliminar el último commit porque nos equivocamos y aún no lo hemos subido a GitHub.

Reset


Imagina que hicimos un commit con un cambio innecesario en el archivo INFO.md y queremos eliminarlo.

# Crear un commit que luego eliminaremos
echo 'test' >> INFO.md
git add INFO.md
git commit -m 'update INFO.md'

# Eliminar el último commit
git reset --hard HEAD~

Aquí, HEAD~ indica que queremos retroceder un commit. Si quisiéramos eliminar varios commits, podríamos escribir HEAD~2, HEAD~3, etc.

Opciones de git reset

Opción Descripción
--soft Elimina el commit pero mantiene los cambios en el área de preparación (staging area).
--mixed Elimina el commit y los saca del área de preparación, pero los cambios quedan en el directorio de trabajo.
--hard Elimina el commit y todos los cambios asociados. Es irreversible.

¿Cuándo usar git reset?

  • Cuando el commit aún no ha sido enviado a un repositorio remoto.
  • Cuando queremos hacer como si el commit nunca hubiera ocurrido.
⚠️ Si usamos git reset --hard, perderemos los cambios definitivamente. Úsalo solo si estás seguro.

Resumen

  • git revert: Crea un nuevo commit que revierte un commit anterior. Es seguro y mantiene el historial del proyecto intacto.
  • git reset: Elimina commits del historial. Puede ser peligroso y solo se debe usar si el commit aún no ha sido enviado a un repositorio remoto.
  • Git trabaja hacia adelante; es mejor corregir errores con nuevos commits en lugar de modificar la historia existente.
  • Si aún no has subido los cambios, git reset es una opción viable; si los cambios ya se subieron, git revert es preferible.

Con estos comandos, podrás manejar errores sin temor cuando trabajes con Git. Experimenta con ellos en un proyecto de prueba y familiarízate con su funcionamiento. ¡Buena práctica!


Trabajo independiente

Edita un archivo y sube los cambios a GitHub

1️⃣ Cambia el texto de algún archivo por:

No code No pain

2️⃣ Guarda el archivo y haz un commit:

git commit -am "update README.md"
git push

🚀 ¡Listo! Los cambios ya están en GitHub.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY