¿Cómo conservar un directorio vacío? ¿.gitkeep o .gitignore?

Git conserva directorios mediante los archivos que contienen en sus operaciones habituales. Elige .gitkeep para un directorio inicialmente vacío, o .gitignore para ignorar el contenido generado futuro.

1. Conservar un marcador

Crea uploads y un archivo vacío uploads/.gitkeep; después prepara ese archivo concreto:

git add -- uploads/.gitkeep

Comprueba que uploads/.gitkeep está en el índice. .gitkeep es una convención sin comportamiento especial; también sirve un README que explique el directorio. No ignora automáticamente los archivos futuros.

git ls-files -- uploads/

2. Conservar el directorio e ignorar su contenido

Como alternativa a .gitkeep, crea uploads/.gitignore con estas dos líneas. * ignora el contenido y !.gitignore mantiene el archivo de reglas disponible para seguimiento.

El propio archivo de reglas es el marcador seguido y permanece dentro del directorio. Los archivos futuros se ignorarán hasta cambiar las reglas.

*
!.gitignore

¿Por qué ! no conserva un archivo en un directorio ignorado?

3. Verificar el método elegido

Para el método .gitignore, prepara su archivo de reglas:

git add -- uploads/.gitignore

Crea uploads/example.bin y comprueba la coincidencia:

git check-ignore -v -- uploads/example.bin

El índice debe mostrar uploads/.gitignore, no example.bin. Si una regla padre excluye uploads entero, corrígela primero para que Git pueda leer el .gitignore anidado.

git ls-files -- uploads/

¿Cómo ignorar carpetas? folder/ frente a /folder/

Consulta las referencias oficiales para conocer el comportamiento exacto y más detalles: Documentación de Git · Documentación de git add