Saltar al contenido

¿Alguna vez has necesitado ignorar archivos en tu repositorio Git que no quieres que aparezcan en el .gitignore compartido? Quizás tienes scripts personales, configuraciones de tu IDE favorito o notas del proyecto que solo te interesan a ti.

Para estos casos existe .git/info/exclude, una herramienta poco conocida pero tremendamente útil.

¿Qué es .git/info/exclude?

Es un archivo que funciona exactamente igual que .gitignore, pero con una diferencia fundamental: es local a tu máquina y no se trackea ni se comparte con el repositorio.

Esto significa que puedes ignorar archivos sin que tus compañeros de equipo vean esos cambios ni tengan que lidiar con tus preferencias personales.

¿Dónde se encuentra?

El archivo está en la carpeta oculta .git de tu repositorio:

.git/info/exclude

Si abres el archivo, verás que ya viene con algunos comentarios explicativos y está listo para usar.

Diferencias entre .gitignore y .git/info/exclude

Característica

.gitignore

.git/info/exclude

Se comparte con el equipo

✅ Sí

❌ No

Se trackea en el repositorio

✅ Sí

❌ No

Afecta a todos los colaboradores

✅ Sí

❌ No

Sintaxis

Igual

Igual

Casos de uso prácticos

Configuraciones personales del IDE

Si usas un IDE diferente al resto del equipo, puedes ignorar sus carpetas de configuración sin contaminar el .gitignore:

# Mi configuración de Zed
.zed/

# Configuración personal de VS Code que no quiero compartir
.vscode/settings.json

Scripts personales de desarrollo

Esos scripts que te facilitan la vida pero que no tienen sentido para el resto del equipo:

# Mis scripts personales
deploy-local.sh
sync-db.sh
notas.md

Archivos temporales de herramientas locales

Si usas herramientas que el resto del equipo no usa:

# Docker Compose override personal
docker-compose.override.yml

# Configuración local de Xdebug
xdebug.ini

Cómo usarlo

Simplemente edita el archivo .git/info/exclude y añade los patrones que quieras ignorar, usando la misma sintaxis que en .gitignore:

# Abrir con tu editor favorito
code .git/info/exclude

# O con nano/vim
nano .git/info/exclude

¿Y si quiero ignorar archivos en todos mis repositorios?

Para eso existe el archivo global de exclusiones. Puedes configurarlo así:

git config --global core.excludesfile ~/.gitignore_global

Y luego añadir tus patrones en ~/.gitignore_global. Esto aplicará a todos los repositorios de tu máquina.

Conclusión

.git/info/exclude es una herramienta sencilla pero muy práctica que te permite mantener tu entorno de desarrollo personalizado sin afectar al repositorio compartido.

La próxima vez que necesites ignorar algo que solo te afecta a ti, ya sabes dónde ponerlo.

Rutas de aprendizaje