Por Anónimo (no verificado) , 29 Abril 2026

La configuración todo-en-uno

Juntando las piezas: esta es una configuración única que aplica el stack moderno de rendimiento de Git. Colócala en .git/config en un clone fresco, ejecuta las tareas únicas, y tendrás la configuración recomendada para repos con cientos de miles de archivos e historia activa.

El bloque de config

[feature]
manyFiles = true
[core]
fsmonitor = true
untrackedCache = true
commitGraph = true
multiPackIndex = true
preloadIndex = true
[index]
version = 4
sparse = true
[fetch]
parallel = 0
writeCommitGraph = true
negotiationAlgorithm = skipping
showForcedUpdates = false
[gc]
auto = 0
writeCommitGraph = true
[maintenance]
auto = false
[checkout]
workers = 0
thresholdForParallelism = 100
[pack]
useSparse = true
writeBitmaps = true
threads = 0
windowMemory = 256m
[commitGraph]
changedPathsVersion = 2
[diff]
algorithm = histogram
[merge]
conflictStyle = zdiff3
[rebase]
autoSquash = true
autoStash = true
updateRefs = true
[push]
autoSetupRemote = true
[protocol]
version = 2

Tareas únicas

# Habilitar setup sparse, partial-clone-friendly
git sparse-checkout init --cone --sparse-index
git sparse-checkout set apps/web libs/shared

# Construir artefactos de rendimiento
git commit-graph write --reachable --changed-paths
git multi-pack-index write --bitmap
git update-index --index-version 4
git pack-refs --all

# Iniciar mantenimiento en background
git maintenance start

Verificación

git config --list --show-origin | sort
git maintenance status
git fsmonitor--daemon status
git-sizer --no-progress
GIT_TRACE2_PERF=1 git status

Notas por plataforma

  • Linux: elevar fs.inotify.max_user_watches a 524288+.
  • macOS: nada extra; FSEvents maneja árboles enormes nativamente.
  • Windows: excluir el árbol de trabajo del escaneo AV en tiempo real.
  • WSL2: funciona correctamente; WSL1 no.

Notas por equipo

Documenta esto en CONTRIBUTING.md del repo. Fija una versión de Git (2.39+ recomendada).

Errores comunes

Aplicar todas las configuraciones a la vez sin medir — algunas tienen tradeoffs.