Ejner Galaz

bitácora

[.gitignore] Excluir archivo de directorio excluido

Supongamos que en algún .gitignore tenemos la siguiente línea:

/carpeta/ignorada/

…pero deseamos que un archivo sea anulado y se sincronice de todas formas. Con frustración comprobaras que añadir:

/carpeta/ignorada/
!/carpeta/ignorada/archivo_designorado.txt

…no funciona.

Debido a una peculiaridad de GIT, no puedes anular un archivo cuando este coincide con un patrón de exclusión de directorios.

Una solución práctica es, en lugar de excluir al directorio, excluir todo lo que contenga el directorio, quedando el archivo .gitignore así:

/carpeta/ignorada/*
!/carpeta/ignorada/archivo_designorado.txt

Ahora archivo_designorado.txt quedará, efectivamente, des-ignorado.