- Deshacer archivos no rastreados
- Deshacer cambios en archivos modificados
- Deshacer cambios preparados para confirmar
Uno de los grandes beneficios de Git es la facilidad para deshacer cambios. Sin un control de versiones, recordar cada modificación sería casi imposible.
En esta lección, aprenderás a revertir cambios no confirmados. Pero cuidado: una vez eliminados, no podrás recuperarlos. ⚠️ ¡Usa esta herramienta con precaución!
Deshacer archivos no rastreados
Imagina que agregaste nuevos archivos al repositorio, pero después te diste cuenta de que no los necesitas. Como Git aún no los rastrea, simplemente puedes eliminarlos del directorio de trabajo con git clean.
Comandos
mkdir one # Creamos un directorio vacío
touch two # Creamos un archivo vacío
git status # Verificamos el estado del repositorio
⏬ Salida de git status:
On branch main
Your branch is up to date with 'origin/main'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
two
Aquí, Git muestra que el archivo two no está rastreado. Podemos eliminarlos con el siguiente comando:
git clean -fd # -f (force), -d (directory)
⏬ Salida esperada:
Removing one/
Removing two
Ahora, los archivos que no estaban rastreados han sido eliminados.
Deshacer cambios en archivos modificados
Has editado un archivo que ya está bajo seguimiento de Git, pero decides que quieres revertir esos cambios.
Comandos
echo 'new text' > INFO.md # Agregamos texto a un archivo existente
git status # Verificamos el estado
⏬ Salida de git status:
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: INFO.md
Aquí, Git nos sugiere el comando adecuado para deshacer los cambios en el archivo. Para volver al estado original del archivo antes de la modificación, ejecutamos:
git restore INFO.md
Ahora, el archivo INFO.md ha vuelto a su versión anterior.
Deshacer cambios preparados para confirmar
Has añadido cambios al área de preparación con git add, pero decides que aún no quieres confirmarlos. Hay dos opciones:
1️⃣ Eliminar los cambios del área de preparación pero mantenerlos en el archivo.
2️⃣ Eliminar completamente los cambios del archivo.
Comandos
echo 'new text' > INFO.md # Modificamos el archivo
git add INFO.md # Preparamos el archivo para commit
git status # Verificamos el estado
⏬ Salida de git status:
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: INFO.md
Para eliminar los cambios del área de preparación sin afectar el archivo en el directorio de trabajo, usa:
git restore --staged INFO.md
Salida de git status después de restaurar:
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: INFO.md
Ahora, si quieres deshacer los cambios por completo, puedes ejecutar:
git restore INFO.md
Resumen
- Si un archivo no está rastreado, se puede eliminar del directorio de trabajo con
git clean -fd. - Si un archivo modificado aún no está en el área de preparación, usa
git restore <archivo>para deshacer los cambios. - Si un archivo ya está en el área de preparación, usa
git restore --staged <archivo>para quitarlo de esta área sin perder los cambios. - Si un archivo está en el área de preparación y luego quieres eliminar los cambios por completo, usa
git restore <archivo>después degit restore --staged <archivo>.
Ahora tienes las herramientas necesarias para manejar cambios no confirmados en Git de manera segura.
Trabajo independiente
Restaura un archivo modificado con Git
1️⃣ Abre tu proyecto en la terminal.
2️⃣ Abre un archivo cualquiera (por ejemplo README.md) y cámbiale el texto. Guarda el archivo.
3️⃣ Comprueba qué detecta Git:
git status
Verás algo como:
modified: README.md
4️⃣ Cancela ese cambio con:
git restore README.md
✨ Este comando revierte el archivo al estado anterior (último commit). Todo lo que habías escrito se borrará.
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.