Von Gast (nicht überprüft) , 29 April 2026

Zwei Enden eines Drahtes

Die Performance von Fetch und Push hangt von der Verhandlungseffizienz, der Transfergrosse und der serverseitigen Berechnung ab.

Protocol v2

GIT_TRACE_PACKET=1 git ls-remote origin 2>&1 | head -2
git config protocol.version 2

Verhandlungsalgorithmus

git config fetch.negotiationAlgorithm skipping
git config fetch.negotiationAlgorithm noop

Bundle-URIs

git clone --bundle-uri=https://cdn.example/repo.bundle https://example.com/repo.git
git config fetch.bundleURI https://cdn.example/repo.bundle

Paralleles Fetch

git config fetch.parallel 0
git config submodule.fetchJobs 8

Push-Optimierung

git config push.useBitmaps true
git config pack.useBitmaps true
git push --atomic origin main feature

Server-seitige Uberlegungen

Server profitieren von MIDX, Erreichbarkeits-Bitmaps, geometrischem Repack und Commit-Graph genauso wie Clients.

Shallow- und Partial-Clones

git clone --depth=1 https://example.com/repo.git
git clone --filter=blob:none https://example.com/repo.git
git clone --filter=tree:0 --no-checkout https://example.com/repo.git

Haufige Fehler

--depth=1 in CI verwenden und dann versuchen, zu bisecten.