Introducción a Git

Teoría: Directorio de trabajo

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")
Git nos informa que el archivo 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

Cuando trabajamos en un proyecto con Git, tenemos dos partes principales:
  • 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'

asciicast

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>, luego git add <archivo> y finalmente git 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.

Completado

0 / 15