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 populares de este blog

7. ¿Por qué nos interesa saber Git o un sistema de control de versiones?

Php-agregar