guide

Configurar un gitignore global (core.excludesFile)

Explica cómo configurar core.excludesFile para ignorar en todos los repositorios los archivos que genera tu entorno personal, como .DS_Store de macOS o los archivos del editor, y cuál es la ruta predeterminada.

Archivos como .DS_Store, Thumbs.db, .idea/workspace.xml o *.swp no los genera el proyecto, sino tu equipo y tu editor. En lugar de repetir estas reglas en cada repositorio, el gitignore global es el lugar donde se escriben una sola vez.

Ruta predeterminada

Aunque no configures nada, git lee el siguiente archivo como lista global de ignorados.

Es decir, en la mayoría de los entornos macOS y Linux basta con crear el archivo ~/.config/git/ignore.

mkdir -p ~/.config/git
printf '.DS_Store\n*.swp\n.idea/workspace.xml\n' >> ~/.config/git/ignore

Si quieres usar otro archivo: core.excludesFile

Para usar un archivo en la ruta que quieras, configura core.excludesFile. Si defines este valor, se lee ese archivo en lugar de la ruta predeterminada.

# macOS / Linux
git config --global core.excludesFile ~/.gitignore_global

# Windows (PowerShell)
git config --global core.excludesFile "$env:USERPROFILE\.gitignore_global"

Comprueba que el ajuste se aplicó con el siguiente comando.

git config --global --get core.excludesFile

Si no se muestra ningún valor, no está configurado, y en ese caso se usa la ruta predeterminada de arriba.

Qué poner en el global

Lo adecuado para el global son los archivos personales que aparecen igual trabajes en el proyecto que trabajes.

TipoEjemploPlantilla recomendada
Sistema operativo.DS_Store, ._*, Thumbs.db, desktop.ini, *~macOS, Windows, Linux
Estado personal de editor e IDE*.swp, .idea/workspace.xml, archivos personales de .vscode/*Vim, JetBrains, VisualStudioCode
Herramientas personales.envrc (direnv), carpeta de notas personalesEscribirlo a mano

Si en el generador eliges solo plantillas como macOS o JetBrains y copias el resultado, puedes usarlo directamente como contenido del archivo global.

En cambio, los resultados de compilación, las carpetas de dependencias y los archivos secretos van en el .gitignore del proyecto, no en el global. Estas reglas deben aplicarse a todas las personas que obtienen el repositorio.

Límites de ponerlo en el global

El gitignore global se aplica solo en tu equipo. Si un compañero no ha hecho la configuración global, su .DS_Store todavía puede acabar confirmado. Por eso el repositorio de plantillas de GitHub también explica ambas opciones: poner las plantillas Global en el global o combinarlas con las plantillas del proyecto.

En la práctica, este criterio suele funcionar bien.

Precedencia

El archivo global tiene la menor precedencia de las cuatro fuentes de reglas. Aunque el global ignore *.log, si el .gitignore del proyecto tiene !keep.log, gana el proyecto. Si no tienes claro qué regla se aplicó, ejecuta git check-ignore -v <ruta>. Si al principio de la salida aparece la ruta del archivo global, lo decidió una regla global.

Referencias

← AnteriorPrecedencia de gitignore y patrones de negación (!)