Da Anonimo (non verificato) , 29 Aprile 2026

Due capi di un solo cavo

Le performance di fetch e push dipendono dall'efficienza della negoziazione, dimensione di trasferimento e calcolo lato server.

Protocollo v2

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

Algoritmo di negoziazione

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

Bundle URI

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

Fetch parallelo

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

Ottimizzazione push

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

Considerazioni server-side

I server beneficiano di MIDX, bitmap di raggiungibilita, repack geometrico e commit-graph quanto i client.

Clone shallow e parziali

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

Errori comuni

Usare --depth=1 in CI poi cercare di fare bisect — funziona solo sui commit nella finestra shallow.