Git · Sección 5

Trabajo, staging, diff y gitignore

Observar cambios, preparar solo lo necesario, comparar cada zona y evitar que archivos generados, locales o secretos entren al historial.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Instalación, configuración y repositorios.

02 / META OBSERVABLE

Al terminar deberías poder relacionar status y las zonas con add y diff y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.

04 / PREPARA EL LABORATORIO

Instala Git y utiliza Git Bash, PowerShell o una terminal Unix. Mantén un repositorio desechable para probar recuperación y conflictos.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan status y las zonas y add y diff? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Aprenderás a construir el próximo commit de forma selectiva y a impedir que contenido local o sensible entre al historial.

Al terminar podrás
  • Status clasifica; no modifica
  • Add y diff permiten crear commits coherentes
  • Gitignore evita nuevos seguimientos; no borra el pasado
01
Leer el estado

Status clasifica; no modifica

git status compara HEAD, staging y directorio de trabajo. Un archivo puede estar sin seguimiento, modificado, preparado o tener cambios preparados y no preparados a la vez. La forma corta resume cada zona con dos columnas.

01

La primera columna describe staging.

02

La segunda describe el directorio de trabajo.

03

Un archivo nuevo aparece como ?? hasta prepararlo.

Comprueba lo aprendido · 01

¿Puede un mismo archivo tener cambios staged y unstaged al mismo tiempo?

Mostrar respuesta +

Sí. Staging conserva una versión y el directorio de trabajo puede avanzar después. Por eso hay que revisar ambos diffs.

02
Preparar con intención

Add y diff permiten crear commits coherentes

git add prepara el contenido actual de una ruta. git add -p permite seleccionar bloques, pero la selección debe seguir una intención comprensible. diff muestra lo no preparado y diff --staged, lo que realmente se registrará.

01

Prepara solo cambios de una misma finalidad.

02

Revisa el diff staged antes de confirmar.

03

Ejecuta la comprobación relacionada con el cambio.

Comprueba lo aprendido · 02

¿git add significa subir el archivo a GitHub?

Mostrar respuesta +

No. Solo prepara una versión en el índice local. Commit la registra y push comparte commits con un remoto.

03
Excluir lo local

Gitignore evita nuevos seguimientos; no borra el pasado

.gitignore describe archivos generados, dependencias, cachés y configuración local que no deben rastrearse. Si una ruta ya fue confirmada, agregar un patrón no la elimina del historial. Los secretos expuestos deben revocarse, no solo ignorarse.

01

Conserva plantillas sin credenciales, como .env.example.

02

Usa check-ignore para explicar qué regla coincide.

03

No confirmes tokens, contraseñas ni claves privadas.

Comprueba lo aprendido · 03

¿Añadir .env a .gitignore protege un token ya publicado?

Mostrar respuesta +

No. El token sigue en commits y posiblemente en clones o registros. Debe revocarse, reemplazarse y luego retirarse del seguimiento según un procedimiento acordado.

Resumen de la sección

Tu recorrido en tres ideas

  1. Status clasifica; no modifica
  2. Add y diff permiten crear commits coherentes
  3. Gitignore evita nuevos seguimientos; no borra el pasado
PROFUNDIZACIÓN / LABORATORIO GUIADO

Construye dos commits desde un archivo mezclado

Conecta las tres comparaciones de Git, preparación interactiva y protección de secretos.

CASO

Un archivo contiene una corrección funcional, cambios de formato y por error aparece un .env sin seguimiento.

Procedimiento

  1. Clasifica cada ruta con status y revisa ambos diffs.
  2. Usa preparación selectiva para separar función y formato.
  3. Ignora el .env, conserva una plantilla ficticia y confirma que nunca quedó rastreado.

Evidencia mínima

  • Diff staged de cada commit.
  • Historial con dos intenciones distintas.
  • check-ignore y ls-files sobre el archivo sensible.
Mostrar razonamiento modelo +

El primer commit contiene solo la corrección comprobable. El segundo puede aplicar formato sin cambiar comportamiento. .env no se prepara; .env.example documenta nombres sin valores reales.

Para ir más lejos

¿Qué debes hacer si el token ya apareció en un commit publicado?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Preparar todo sin leer el diff.

ERROR 02

Creer que .gitignore elimina secretos ya rastreados o publicados.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Realiza dos cambios en un archivo, prepara solo uno y demuestra qué versión entraría al próximo commit.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Compara diff y diff --staged.
  • Explica las dos columnas de status corto.
  • Mantiene fuera secretos y artefactos locales.