Módulo 3: Modelo mental y fundamentos locales

Unidad: GIT-03–04
Público: alumnado de DAW, DAM, ASIR y grados de informática.
Itinerario: tronco, tras instalación y configuración de identidad.
Prerrequisitos: usar archivos, carpetas y terminal; tener configurados user.name y user.email.
Objetivo observable: crear un repositorio local, identificar el estado de sus archivos y registrar un cambio mediante un commit.
Fuente técnica: documentación oficial de Git sobre git add y el ciclo de registro de cambios.
Encaje curricular: contenido transversal; su ubicación concreta depende del centro o la guía docente.

Idea clave

Git trabaja localmente aunque no exista GitHub, GitLab ni conexión a Internet. En un proyecto hay tres zonas:

Directorio de trabajo → Área de preparación (staging area) → Historial local
      editar                    git add                    git commit
  • Directorio de trabajo: archivos que estás creando o editando.
  • Staging area: selección exacta de contenido que entrará en el próximo commit.
  • Repositorio local: historial de commits guardado en .git.

Un commit no guarda automáticamente todo lo que hayas modificado: guarda únicamente lo que esté preparado con git add.

Demostración reproducible

Partimos de una carpeta vacía:

mkdir web-recetas
cd web-recetas
git init

Salida esperada aproximada:

Initialized empty Git repository in .../web-recetas/.git/

Git crea la carpeta oculta .git/. No conviene editarla manualmente.

Crea un archivo:

printf "# Recetas\n" > README.md
git status

Salida esperada:

Untracked files:
  README.md

README.md existe en tu directorio de trabajo, pero Git todavía no lo incluye en el historial.

Prepáralo para el siguiente commit:

git add README.md
git status

Salida esperada:

Changes to be committed:
  new file: README.md

Ahora el contenido de README.md está en el área de preparación. Comprueba exactamente qué se va a guardar:

git diff --staged

Registra el primer commit:

git commit -m "Añade README inicial"

Salida esperada aproximada:

[main abc1234] Añade README inicial
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

El nombre de la rama puede ser main u otro, según la configuración local de Git. El identificador corto del commit también cambiará.

Consulta el estado y el historial:

git status
git log --oneline

Salida esperada:

nothing to commit, working tree clean
abc1234 Añade README inicial

Un cambio no preparado

Añade una línea y revisa el estado:

printf "\nProyecto de recetas sencillas.\n" >> README.md
git status
git diff

Git mostrará README.md como modificado. git diff enseña los cambios del directorio de trabajo que aún no se han preparado.

Prepáralo y revisa de nuevo:

git add README.md
git diff
git diff --staged
  • git diff no mostrará nada: ya no quedan cambios sin preparar.
  • git diff --staged mostrará el contenido que entrará en el próximo commit.

Finalmente:

git commit -m "Describe el objetivo del proyecto"

Estados de un archivo

Estado Significado Acción habitual
Untracked Git ve el archivo, pero no lo controla git add archivo
Modified Ha cambiado desde el último commit Revisar con git diff
Staged Su versión actual entrará en el próximo commit Revisar con git diff --staged
Unmodified Coincide con el último commit Ninguna

Un mismo archivo puede tener cambios preparados y otros posteriores sin preparar. Por eso conviene revisar git status antes de cada commit.

Errores frecuentes

  • “He hecho git add y luego he vuelto a editar el archivo”.
    La edición posterior no entra sola en el commit. Ejecuta de nuevo git add archivo y revisa git diff --staged.

  • git commit dice que no hay nada que confirmar”.
    No hay contenido preparado. Consulta git status y usa git add sobre el archivo correcto.

  • “He creado el commit, pero no aparece en GitHub”.
    Es normal: este bloque trabaja solo con el repositorio local. Publicar cambios requiere un remoto y git push, que se tratarán más adelante.

  • “Quiero deshacer un cambio antes del commit”.
    No uses aún comandos destructivos sin comprobar el estado. La recuperación con git restore, revert y reset se abordará en el bloque específico de recuperación.

Ejercicio práctico

Crea un repositorio local llamado biblioteca-personal y realiza dos commits:

  1. Añade catálogo inicial, con un archivo catalogo.md y tres títulos.
  2. Añade normas de préstamo, con un archivo prestamo.md.

Criterios de revisión:

  • git status termina mostrando working tree clean.
  • git log --oneline muestra dos commits.
  • Cada commit contiene solo los archivos correspondientes a su tarea.
  • Los mensajes describen la acción realizada y no son genéricos como “cambios”.

Resumen

Al finalizar, el alumnado debe saber:

  • Crear un repositorio local con git init.
  • Distinguir directorio de trabajo, staging area e historial local.
  • Usar git status para interpretar el estado de los archivos.
  • Preparar cambios con git add.
  • Revisar contenido con git diff y git diff --staged.
  • Crear y consultar commits con git commit y git log.

Estado editorial: listo.

Registro de revisión técnica

Revisado el 4 de agosto de 2026. Se ha ejecutado la demostración desde un directorio vacío, con identidad local de práctica. README.md pasa de no rastreado a preparado, git diff --staged inspecciona el contenido preparado y los dos commits se crean en el orden indicado. Tras el segundo commit, git status --short no muestra cambios y git log --oneline -2 muestra los dos commits esperados. También se ha comprobado que, después de git add, git diff no informa de cambios sin preparar y git diff --staged identifica README.md.