Cómo ignorar un directorio en Git
Guía completa sobre cómo excluir carpetas en Git: uso de barras finales, rutas relativas a la raíz, subdirectorios y cómo conservar carpetas vacías con .gitkeep.
En Git, añadir una barra inclinada final (/) indica a Git que compruebe únicamente directorios e ignore los archivos normales con el mismo nombre:
# Matches only directories named "build/" (e.g. /build/, /src/build/)
build/
# Matches BOTH a directory named "build" AND a file named "build"
buildUsa siempre una barra inclinada al final cuando tu intención sea ignorar una carpeta. Esto evita ignorar por error scripts o archivos sin extensión.
De forma predeterminada, un nombre de carpeta sin barra inicial coincide a cualquier profundidad en tu repositorio:
# Matches "logs/" anywhere in the repository: /logs/, /apps/web/logs/, etc.
logs/
# Anchored: Matches "logs/" ONLY at the repository root
/logs/Si necesitas ignorar ciertas carpetas dentro de una estructura sin ignorar el directorio principal, combina comodines glob con nombres de carpeta:
# Ignore any folder named "temp" inside any "build" directory
build/**/temp/
# Ignore all subdirectories inside packages except package files
packages/*/dist/Git rastrea archivos, no carpetas vacías. Si necesitas subir una estructura de carpetas vacía (como uploads/ o logs/), usa la convención de .gitkeep:
# 1. Ignore everything inside uploads/
uploads/*
# 2. But whitelist the .gitkeep file inside it
!uploads/.gitkeepCuando se ignora una carpeta completa, no es posible re-incluir una subcarpeta con un signo de exclamación. Debes ignorar el contenido y autorizar la subcarpeta:
# Ignore everything inside config/
config/*
# Whitelist production folder and its contents
!config/production/
!config/production/**Preguntas frecuentes
Respuestas a dudas comunes de desarrolladores sobre reglas de .gitignore, caché y gestión del repositorio.
¿Cuál es la diferencia entre carpeta y carpeta/ en .gitignore?
'carpeta/' solo coincide con directorios. 'carpeta' sin barra coincide tanto con directorios como con archivos regulares que tengan ese nombre.
¿Cómo confirmo una carpeta vacía en Git?
Crea un archivo vacío llamado .gitkeep dentro de la carpeta, ignora el contenido con 'carpeta/*' y añade la excepción '!carpeta/.gitkeep'.
¿Cómo ignorar el contenido de una carpeta pero mantener la carpeta misma?
Escribe 'directorio/*' en lugar de 'directorio/'. Esto ignora los archivos internos sin saltarse la exploración de la carpeta.
Guías y Referencias de .gitignore
Cómo ignorar archivos ya rastreados en Git
La solución definitiva al problema habitual en Git: desindexar archivos sensibles o generados que fueron comiteados por error antes de añadir el .gitignore.
Guía de sintaxis y patrones en .gitignore
Desglose exhaustivo del formato de patrones, globbing con comodines, barras iniciales y finales, sutilezas de negación y rangos de caracteres en Git.
Ejemplos de .gitignore para stacks modernos
Ejemplos prácticos y seleccionados de archivos .gitignore para lenguajes populares, frameworks backend, videojuegos, desarrollo móvil y contenedores.