Die Bundle-Einstellung
Tuning von Monorepos beinhaltet ein Dutzend Einstellungen. Statt jede einzelne zu memorieren und anzuwenden, bietet Git "Feature-Flags", die ein koharentes Bundle aktivieren.
Was es einstellt
index.version=4.core.untrackedCache=true.
git config feature.manyFiles true
git config --list | grep -E '^(index|core)\.'
Schwester-Features
feature.experimental=true.feature.manyCommits.
Mit Monorepo-Stack kombinieren
git config feature.manyFiles true
git config core.fsmonitor true
git config core.commitGraph true
git sparse-checkout init --cone --sparse-index
git maintenance start
Verhalten zwischen Versionen
Der genaue Satz von Einstellungen, den feature.manyFiles aktiviert, kann zwischen Git-Versionen variieren.
Auswirkung verifizieren
time git -c feature.manyFiles=false status
time git -c feature.manyFiles=true status
GIT_TRACE2_PERF=1 git status 2>&1 | head -50
Haufige Fehler
git update-index --index-version 4
git status
Reset
git config --unset feature.manyFiles
git update-index --index-version 2