16. Diferentes formas de agregar archivos al escenario

 

 Diferentes Formas de Agregar Archivos al Escenario (Staging Area)

Objetivo: Aprenderás a preparar (añadir al "escenario" o staging area) tus archivos de manera eficiente en Git, utilizando diferentes métodos según lo que necesites. Esto es crucial para hacer commits ordenados y con sentido.

Introducción: El Escenario (Staging Area)

Imagina que Git es un fotógrafo y tus cambios son actores. El escenario (staging area) es el lugar donde colocas a los actores que quieres que salgan en la siguiente foto (commit). Puedes decidir qué actores (archivos) entran en la foto y cuáles se quedan detrás del escenario esperando.

Vamos a ver varias formas de llamar a estos actores al escenario.


Método 1: Agregar Archivos Uno por Uno (El Método Preciso)

Úsalo cuando quieras añadir archivos muy específicos, quizás de diferentes tipos o carpetas.

Comando:

bash
git add nombre-del-archivo.html
git add otro-archivo.css

Analogía: Es como señalar con el dedo a cada actor y decirle: "Tú, Juan, y tú, María, vengan al escenario".


Método 2: Agregar Archivos por Tipo (Usando Comodines o Wildcards)

Úsalo cuando hayas modificado varios archivos del mismo tipo (por ejemplo, todos los .html) y quieras que todos formen parte del mismo commit.

Comando:

bash
# Para agregar TODOS los archivos .html en la carpeta actual
git add *.html

¡Cuidado! Si tus archivos están dentro de subcarpetas, este comando no los encontrará. Para eso, necesitas la siguiente variante:

bash
# Para agregar TODOS los archivos .js DENTRO de la carpeta 'js/'
git add js/*.js

Este comando busca todos los archivos que terminan en .js dentro de la carpeta js.

Analogía: Es como decir: "¡Que suban al escenario todos los que llevan camisa roja (archivos .html)!".


Método 3: El Secreto de las Carpetas Vacías (El Archivo .gitkeep)

Esto es muy importante y fácil de olvidar.

El Problema: Git NO guarda carpetas vacías. Si creas una carpeta para, por ejemplo, que los usuarios suban imágenes (/uploads), pero está vacía, Git la ignorará. Cuando alguien más descargue tu proyecto, ¡esa carpeta no existirá y tu programa podría fallar!

La Solución: Crea un archivo especial dentro de la carpeta vacía. Por convención, se suele llamar .gitkeep. Este archivo no tiene contenido, pero su presencia "engañará" a Git para que guarde la carpeta.

Comando (para crear el archivo):

bash
# Dentro de tu terminal, en la carpeta vacía
touch .gitkeep

Luego, para añadir esa carpeta (que ahora ya no está vacía) al escenario:

bash
# Agregar el archivo especial, y por lo tanto, la carpeta
git add uploads/.gitkeep

Analogía: Es como poner un letrero de "Guardarropa" en un armario vacío. El letrero (.gitkeep) es lo que le dice a Git: "Oye, este espacio (la carpeta) es importante, aunque ahora no tenga nada, ¡no lo olvides!".


Método 4: Agregar Todo (El Método "A lo Grande")

Úsalo cuando quieras añadir todos los cambios (archivos nuevos, modificados y eliminados) de una sola vez.

Comando:

bash
git add -A

o

bash
git add .

(Ambos suelen hacer lo mismo en versiones recientes de Git: añaden todo el proyecto).

Analogía: Es como gritar: "¡Todo el mundo al escenario!". Es rápido, pero úsalo con cuidado, asegurándote de que realmente quieres que todos los cambios vayan en el mismo commit.


Resumen Visual

SituaciónComandoAnalogía
Añadir index.html y main.htmlgit add index.html main.htmlSeñalar actores específicos.
Añadir todos los archivos .cssgit add *.cssLlamar a todos los de camisa verde.
Añadir todos los .js de la carpeta jsgit add js/*.jsLlamar a los de camisa azul que están en el balcón.
Añadir una carpeta vacía (ej. uploads)touch uploads/.gitkeep y luego git add uploads/.gitkeepPoner un letrero en un armario vacío para que no lo olviden.
Añadir absolutamente todogit add . o git add -A"¡Todo el mundo al escenario!"

Cuestionario de Repaso

¡Hora de ver qué tanto recuerdas! Intenta responder sin mirar el tutorial.

  1. ¿Cuál es el propósito del "escenario" o staging area en Git?

  2. ¿Qué comando usarías para agregar únicamente los archivos contacto.html y estilos.css al escenario?

  3. Si has modificado 15 archivos con extensión .js que están todos en la carpeta principal de tu proyecto, ¿cuál es la forma más eficiente de agregarlos a un solo commit?

  4. ¿Por qué Git ignora las carpetas vacías y cómo podemos solucionar este problema? Menciona el nombre del archivo especial que se suele usar.

  5. ¿Cuál es la principal diferencia entre usar git add *.js y git add js/*.js?

  6. ¿Cuál es el comando para agregar todos los cambios de tu proyecto al escenario de una sola vez?

Comentarios

Entradas más populares de este blog

11-intro

12. Exposición sobre los comandos usados hasta el momento

13. Cambiar nombre de la rama Master a Main