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 initSalida 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 statusSalida esperada:
Untracked files:
README.mdREADME.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 statusSalida esperada:
Changes to be committed:
new file: README.mdAhora el contenido de README.md está en el área de preparación. Comprueba exactamente qué se va a guardar:
git diff --stagedRegistra 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.mdEl 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 --onelineSalida esperada:
nothing to commit, working tree clean
abc1234 Añade README inicialUn cambio no preparado
Añade una línea y revisa el estado:
printf "\nProyecto de recetas sencillas.\n" >> README.md
git status
git diffGit 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 --stagedgit diffno mostrará nada: ya no quedan cambios sin preparar.git diff --stagedmostrará 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 addy luego he vuelto a editar el archivo”.
La edición posterior no entra sola en el commit. Ejecuta de nuevogit add archivoy revisagit diff --staged.“
git commitdice que no hay nada que confirmar”.
No hay contenido preparado. Consultagit statusy usagit addsobre 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 ygit 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 congit restore,revertyresetse abordará en el bloque específico de recuperación.
Ejercicio práctico
Crea un repositorio local llamado biblioteca-personal y realiza dos commits:
Añade catálogo inicial, con un archivocatalogo.mdy tres títulos.Añade normas de préstamo, con un archivoprestamo.md.
Criterios de revisión:
git statustermina mostrandoworking tree clean.git log --onelinemuestra 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 statuspara interpretar el estado de los archivos. - Preparar cambios con
git add. - Revisar contenido con
git diffygit diff --staged. - Crear y consultar commits con
git commitygit 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.