Cuando trabajamos con Git, es importante entender cómo rastrea los cambios de nuestros archivos. En esta lección, veremos cómo Git identifica modificaciones, cómo podemos verificar el estado de nuestro repositorio y qué hacer cuando eliminamos un archivo por error.
¿Qué sucede al eliminar un archivo?
Imaginemos que hemos clonado el repositorio codica-git. Dentro de la carpeta del proyecto, vemos los archivos que hemos agregado y una carpeta oculta llamada .git, que es donde Git almacena toda la información del repositorio.
Vamos a eliminar un archivo para ver cómo responde Git:
rm PEOPLE.md
git status
⏬ Salida del comando:
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: PEOPLE.md
no changes added to commit (use "git add" and/or "git commit -a")
PEOPLE.md fue eliminado y nos da opciones para restaurarlo o confirmar el cambio.
Pero, ¿cómo sabe Git que eliminamos un archivo? Para responder esto, exploremos cómo Git maneja el estado de los archivos.
Cómo Git rastrea los cambios
- El directorio de trabajo: donde editamos nuestros archivos.
- El repositorio Git (
.git): donde Git almacena un historial con los cambios confirmados (commits).
Cada vez que hacemos modificaciones en el directorio de trabajo, Git compara los archivos con la última versión guardada en el repositorio. Si detecta diferencias, nos lo indica con git status.
Restaurar un archivo eliminado
Si eliminamos un archivo por accidente, podemos restaurarlo a su última versión registrada con:
git restore PEOPLE.md
git status
⏬ Salida esperada:
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
El archivo PEOPLE.md reaparece y todo vuelve a estar como en nuestro último commit.
Confirmar la eliminación de un archivo
Si, en cambio, queremos conservar el cambio (es decir, eliminar el archivo en el repositorio), seguimos este proceso:
rm PEOPLE.md
git add PEOPLE.md
git commit -m 'remove PEOPLE.md'
⏬ Salida esperada:
[main e15afd2] remove PEOPLE.md
1 file changed, 1 deletion(-)
delete mode 100644 PEOPLE.md
✅ Nuestra confirmación de cambios (commit) registra la eliminación del archivo.
Un atajo: git rm
Git también nos ofrece un comando más eficiente para eliminar archivos y marcarlos como listos para el commit en un solo paso:
git rm PEOPLE.md
Este comando es equivalente a hacer:
rm PEOPLE.md
git add PEOPLE.md
Ahora, podemos hacer el commit:
git commit -m 'remove PEOPLE.md'
Resumen
- Git rastrea los cambios comparando los archivos del directorio de trabajo con su última versión confirmada.
- Podemos verificar el estado del repositorio con
git status. - Si eliminamos un archivo por error, lo restauramos con
git restore <archivo>. - Para confirmar permanentemente la eliminación de un archivo, usamos
rm <archivo>, luegogit add <archivo>y finalmentegit commit. git rm <archivo>es un atajo que elimina un archivo y lo marca para commit en un solo paso.
Entender estos conceptos nos permite trabajar con más seguridad en nuestros proyectos y evitar pérdidas accidentales de información.
Trabajo independiente
Gestiona archivos en tu repositorio con Git
1️⃣ Borra el archivo NEW.md:
rm NEW.md git rm NEW.md git commit -m "Eliminar archivo NEW.md"
2️⃣ Crea un nuevo archivo INFO.md con el texto git is awesome!:
echo "git is awesome!" > INFO.md git add INFO.md git commit -m "Agregar archivo INFO.md"
3️⃣ Sube tus cambios a GitHub:
git push
4️⃣ Verifica que todo esté actualizado en tu repositorio. ✅
Materiales adicionales
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.