En el desarrollo de software, los errores son humanos. Ya sea un fragmento de código incorrecto, un comentario no deseado o una implementación completamente errónea. Git te da la posibilidad de corregir tales errores. En este tutorial, aprenderás cómo puedes deshacer cambios de manera efectiva con los comandos git reset y git checkout, para limpiar tu código o restaurar un estado anterior.
Principales conclusiones
- Con git checkout puedes deshacer cambios en archivos, siempre que aún no se hayan confirmado.
- git reset te permite retroceder a un commit específico, pero puede descartar datos de forma irreversible.
- Existen diferentes enfoques para deshacer cambios. Elige el método que mejor se adapte a tu escenario.
Guía paso a paso
Rastrear cambios en un archivo
Si accidentalmente has hecho cambios no deseados en un archivo de tu proyecto, puedes verificar esto con el comando git status. Este te mostrará el archivo modificado que está en la fase de preparación. Esto te brinda la posibilidad de actuar de manera específica antes de llevar los cambios al repositorio.

Deshacer cambios en un archivo con git checkout
Si deseas deshacer una modificación en un archivo que aún no está en estado de commit, puedes utilizar el comando git checkout. Para ello, ejecutas git checkout

Verificación de los cambios
Después de ejecutar git checkout, puedes verificar con git diff si los cambios se han deshecho correctamente y si tu código ha vuelto al estado deseado. Una buena herramienta para verificar los cambios es git diff, que te muestra en detalle lo que se ha modificado.

Cambios que ya han sido confirmados
Ahora supongamos que ya has modificado un archivo y lo has guardado con git commit. En este caso, puedes usar git log para ver los commits. Aquí recibirás un historial de commits y podrás encontrar el commit específico que deseas deshacer.

Restablecer a un commit específico
Para retroceder a un commit específico, tienes varias opciones. El comando más simple es git reset
Verificación después del restablecimiento
Después del restablecimiento, deberías usar nuevamente git status y git log para asegurarte de que tu repositorio está en el estado deseado. Allí podrás ver que los cambios se han deshecho y que todo está como lo deseas.

Conclusión sobre las opciones de restablecimiento
En resumen, tanto git checkout como git reset son comandos útiles para deshacer cambios no deseados. Decide cuál método se adapta mejor a tus necesidades actuales. git checkout es ideal para cambios no confirmados, mientras que git reset es óptimo para commits revertidos.
Resumen – Control de versiones con Git: Cómo deshacer cambios – Reset y Checkout
En el marco de esta guía, has aprendido cómo puedes deshacer cambios en tu código de manera efectiva con git checkout y git reset. Has explorado las ventajas y desventajas de ambos métodos para asegurarte de que puedes preservar tu trabajo en cualquier momento y solucionar errores rápidamente.
Preguntas Frecuentes
¿Cómo restablezco cambios en un archivo que aún no he confirmado?Utiliza el comando git checkout para restablecer los cambios en este archivo.
¿Qué sucede si uso git reset --hard?Este comando elimina todos los cambios locales realizados y restablece tu repositorio al estado del commit elegido.
¿Cómo encuentro el número de commit?Usa el comando git log para obtener una visión general de todos los commits y sus respectivos hashes.
¿Qué debo tener en cuenta antes de usar git reset --hard?Asegúrate de que todos los cambios importantes estén respaldados, ya que este comando puede eliminar datos de forma irreversible.
¿Cómo puedo revisar mis últimos cambios?Con el comando git diff puedes analizar los cambios más recientes en los archivos.