0

Probador de .gitignore

Pega tus reglas de .gitignore y una lista de rutas de archivo para ver exactamente qué archivos se ignoran, con qué regla y línea exactas, y qué reglas de negación quedan silenciosamente inactivas porque un directorio padre ya está ignorado.

🔒 Procesado íntegramente en su navegador: nada de lo que ingresa aquí se carga nunca.

Procesando... 0%
Analizando las reglas de .gitignore
Comparando las rutas de archivo
Listo

Resultado

«¿Por qué no funciona la negación de mi .gitignore?» es una de las preguntas más comunes sobre git, y la respuesta sincera es casi siempre la misma: un `!patrón` que intenta volver a incluir un archivo dentro de un directorio que una regla anterior ya excluye nunca puede funcionar, porque git no desciende a los directorios ignorados para volver a comprobar nada dentro de ellos. Esta herramienta reimplementa el algoritmo de coincidencia real de .gitignore de git —no una aproximación— precisamente para detectar y explicar esa situación exacta, junto con todas las demás reglas de patrones que git admite.

Pega tus reglas de .gitignore en un cuadro y una lista de rutas de archivo (una por línea, como `dist/index.js`, `node_modules/foo/bar.js` o `.env`) en el otro, y la herramienta evalúa cada ruta exactamente como lo haría git: se omiten los comentarios y las líneas en blanco, se eliminan los espacios finales a menos que estén escapados, un `!` inicial niega una regla, una `/` inicial la ancla a la raíz en lugar de permitir que coincida a cualquier profundidad, una `/` final la restringe a directorios, y `*`, `?`, las clases de caracteres `[abc]` y `**` (que coincide a través de límites de directorio) funcionan según las reglas glob documentadas.

Es fundamental que las rutas se comprueben directorio por directorio desde la raíz hacia abajo, de la misma manera que funciona el motor de ignorados de git, no probando la ruta completa con cada regla de forma aislada. Esto es lo que permite detectar correctamente el caso de negación inactiva: si `dist/` se ignora en la línea 3 y un `!dist/keep.js` posterior intenta rescatar un archivo dentro, esta herramienta informa que `dist/keep.js` sigue ignorado, indica la regla de la línea 3 como la razón y señala por separado la negación como ocultada en lugar de fingir silenciosamente que funcionó.

La tabla de resultados asigna a cada ruta probada su propia fila con un veredicto claro de ignorado o no, el texto exacto de la regla y el número de línea que lo decidió y, cuando es relevante, una nota en lenguaje claro que explica una negación ocultada o una regla heredada del directorio padre. Ese es el detalle que convierte un .gitignore confuso en uno que realmente puedes entender antes de hacer commit.