¿Qué es un archivo .gitignore?
Un archivo .gitignore es un documento de texto plano ubicado en la raíz de tu repositorio de Git. Especifica patrones y archivos no rastreados que Git debe ignorar deliberadamente, evitando que salidas de compilación, secretos locales, carpetas de dependencias y archivos temporales del sistema se suban al control de versiones.
¿Dónde se debe colocar el archivo .gitignore?
Coloca el archivo .gitignore en el directorio raíz de tu proyecto (por ejemplo, /mi-proyecto/.gitignore). En esa ubicación, sus reglas se aplican de forma recursiva a todos los archivos y subdirectorios del repositorio. También puedes añadir archivos .gitignore adicionales en subcarpetas si necesitas reglas específicas para esas rutas.
¿Se pueden combinar múltiples plantillas de .gitignore?
Sí. Los proyectos modernos casi siempre combinan múltiples tecnologías (por ejemplo, Python + React + Docker + macOS + VS Code). DotGitIgnore te permite seleccionar tantas plantillas como necesites, resolviendo solapamientos y deduplicando reglas idénticas en un único archivo limpio.
¿Cómo ignorar un directorio completo en Git?
Para ignorar un directorio completo y todo su contenido, añade una barra inclinada al final del nombre en tu .gitignore (por ejemplo, node_modules/ o build/). Un patrón sin barra final coincide tanto con archivos como con carpetas de ese nombre, mientras que la barra restringe la coincidencia exclusivamente a directorios.
¿Cómo dejar de rastrear un archivo que ya fue comiteado?
Añadir un archivo a .gitignore no lo elimina de Git si ya fue rastreado en commits anteriores. Para dejar de rastrearlo sin borrarlo de tu disco local, ejecuta 'git rm --cached <archivo>' (o 'git rm -r --cached <directorio>/' para carpetas) y luego confirma el cambio con un commit.
¿Puedo editar el archivo .gitignore generado?
Sí. El resultado generado por DotGitIgnore es texto de configuración estándar de Git. Puedes añadir libremente rutas específicas de tu proyecto, credenciales de entorno local, comentarios o desactivar reglas individuales directamente en el generador o en tu editor tras descargarlo.
¿Cómo usar .gitignore en Git?
Crea un archivo llamado .gitignore en la raíz de tu repositorio, añade las reglas relativas que deseas excluir (como dist/, .env o *.log) y guárdalo en Git ejecutando 'git add .gitignore && git commit -m "Add .gitignore"'. A partir de ese momento, Git ignorará los nuevos archivos no rastreados que coincidan con esas reglas.
¿Cómo funciona internamente gitignore?
Al inspeccionar el árbol de trabajo (por ejemplo, con 'git status' o 'git add .'), Git compara los archivos no rastreados con los patrones definidos en la jerarquía de archivos .gitignore. Si una ruta coincide con un patrón y no es reincorporada por una regla de negación posterior '!', Git omite el archivo del índice.
¿Qué hace exactamente gitignore?
Un archivo .gitignore indica a Git qué archivos y carpetas no rastreados deben excluirse del control de versiones. Evita que cachés temporales, artefactos compilados, dependencias de terceros, archivos de configuración del sistema (.DS_Store) y credenciales secretas saturen los commits o se envíen a repositorios remotos.
¿Debe incluirse el archivo .gitignore en el repositorio?
Sí. En casi todas las circunstancias, el archivo .gitignore debe confirmarse en el repositorio para que las reglas de exclusión se compartan de forma homogénea con todos los colaboradores y pipelines de CI/CD. Para preferencias personales de tu editor local, utiliza .git/info/exclude o un archivo gitignore global.
¿Por qué .gitignore no está ignorando mis archivos?
La causa más común es que el archivo ya está siendo rastreado por Git. El archivo .gitignore solo evita que se agreguen archivos nuevos no rastreados; nunca deja de seguir archivos que ya estaban comiteados. Para corregirlo, elimina el archivo del índice con 'git rm --cached <archivo>' y comitea. Otras causas habituales son errores de sintaxis en los patrones o barras iniciales mal ubicadas.
¿Qué sucede si agregas .gitignore dentro de .gitignore?
Si .gitignore ya fue comiteado, agregarse a sí mismo no tiene efecto porque Git ya lo está rastreando. Si lo añades antes de hacer el primer commit, Git ignorará el propio archivo .gitignore, impidiendo compartir las reglas con tu equipo. En la práctica, nunca debes ignorar el archivo .gitignore.
¿Cómo verificar si una regla de .gitignore está funcionando?
Puedes probar si un archivo es ignorado ejecutando 'git check-ignore -v <ruta>'. Si está ignorado, Git mostrará el archivo .gitignore de origen, el número de línea y el patrón que coincide. También puedes ejecutar 'git status --ignored' para ver todos los archivos excluidos en tu directorio de trabajo.
¿Cuál es la forma correcta de usar .gitignore?
La forma recomendada es crearlo antes del primer commit del proyecto, agrupar las reglas por categorías lógicas (dependencias, compilación, secretos locales), confirmar .gitignore en el control de versiones y gestionar herramientas personales en tu gitignore global. Usar DotGitIgnore garantiza partir de reglas limpias y deduplicadas diseñadas para tu stack.
¿Qué archivos deben incluirse en un .gitignore?
Incluye carpetas de compilación (dist/, build/), directorios de dependencias (node_modules/, vendor/), credenciales de entorno (.env*), binarios compilados (*.class, *.o) y registros de ejecución (*.log). Nunca ignores código fuente, plantillas de configuración (como .env.example) ni archivos de bloqueo de dependencias (package-lock.json, Cargo.lock).
¿Se pueden tener múltiples archivos .gitignore en un repositorio?
Sí. Git admite múltiples archivos .gitignore en la jerarquía de carpetas. Los patrones de un .gitignore en un subdirectorio se aplican solo a esa carpeta y sus elementos hijos, teniendo prioridad sobre los patrones de la raíz. Esto es especialmente útil en monorrepositorios con varios lenguajes o microservicios.
¿Cómo ignorar un archivo específico en Git?
Para ignorar un archivo en cualquier lugar del proyecto, añade su nombre a .gitignore (por ejemplo, secreto.txt). Para limitarlo exclusivamente a la raíz, antepón una barra inclinada (/secreto.txt). Para ignorar un archivo anidado específico, escribe su ruta relativa desde la raíz (config/credenciales.json).
¿Cómo ignorar variables de entorno y archivos .env?
Añade .env y sus variantes locales (.env.local, .env.*.local) a tu .gitignore para evitar filtrar claves de API y contraseñas de bases de datos. Confirma siempre en Git un archivo saneado como .env.example con valores de muestra para que el equipo conozca las variables necesarias sin exponer secretos.
¿Cuál es la diferencia entre .gitignore y .git/info/exclude?
El archivo .gitignore se versiona en Git y se comparte con todos los colaboradores del repositorio, siendo ideal para reglas globales del proyecto (dependencias y builds). En cambio, .git/info/exclude es un archivo local dentro de .git/ que nunca se comitea ni se envía al servidor remoto, perfecto para patrones privados de tu máquina.
¿Qué función cumple el signo de exclamación (!) en .gitignore?
El signo de exclamación (!) niega un patrón previo para volver a incluir un archivo que había sido descartado por una regla anterior (por ejemplo, *.log seguido de !importante.log). Ten en cuenta que Git no puede reincorporar un archivo si su directorio contenedor ya está completamente ignorado.
¿Cómo forzar a Git a rastrear un archivo ignorado?
Puedes forzar el seguimiento de un archivo ignorado utilizando el modificador -f (o --force): 'git add -f ruta/al/archivo'. Una vez agregado al índice y comiteado, el archivo permanecerá rastreado por Git aunque coincida con una regla de .gitignore, hasta que se descarte explícitamente con 'git rm --cached'.