HeadlinesBriefing favicon HeadlinesBriefing.com

Tres archivos de Git ignore que no conocías

Hacker News •
×

Durante años llevé archivos sin seguimiento en repositorios — notas en markdown, planes de agente — porque agregarlos a .gitignore parecía sucio. Luego Claude sugirió usar .git/info/exclude, revelando que git realmente lee los patrones de ignorado desde tres ubicaciones con sintaxis idéntica.

Primero, .gitignore en cualquier directorio afecta a todos los que clonan el repositorio y se confirma — ideal para salida de compilación como target/ o __pycache__/. Segundo, .git/info/exclude solo afecta tu clon, nunca se confirma y vive dentro de .git, por lo que es a prueba de accidentes. Perfecto para archivos personales temporales. Tercero, un archivo de exclusión global (predeterminado ~/.config/git/ignore) se aplica a cada repositorio en tu máquina — ideal para desorden de editores como .idea/, .vscode/, .DS_Store.

El uso es sencillo: agrega patrones directamente. Por repositorio: `echo 'plans/' >> .git/info/exclude`. Para árboles de trabajo vinculados, usa `$(git rev-parse --git-common-dir)/info/exclude`. Globalmente: crea ~/.config/git/ignore y agrega patrones, o configura una ruta personalizada con `git config --global core.excludesFile ~/.gitignore_global`. Los cambios surten efecto inmediatamente en `git status` para archivos sin seguimiento.

Nota: Claude Code excluye por defecto los archivos ignorados de @-autocomplete, así que los planes desaparecen del selector una vez añadidos a .git/info/exclude.

Entidades clave: Empresas: Claude, Claude Code | Ubicaciones: ~/.config/git/ignore, $XDG_CONFIG_HOME/git/ignore

Preguntas frecuentes: ¿Cuál es la diferencia entre .gitignore y .git/info/exclude?

.gitignore se confirma y se comparte con todos los que clonan el repositorio, mientras que .git/info/exclude es local a tu clon y nunca puede confirmarse accidentalmente.