Da Anonimo (non verificato) , 29 Aprile 2026

fast-export e fast-import

git fast-export serializza un repository in un flusso di comandi; git fast-import ricostruisce un repository da uno. Insieme formano il protocollo di interscambio dati di Git.

Esportazione

git fast-export --all > all.fi
git fast-export --all --signed-tags=strip --tag-of-filtered-object=drop > clean.fi
git fast-export --reference-excluded-parents main..feature > topic.fi

Importazione

mkdir new-repo && cd new-repo && git init
cat ../all.fi | git fast-import
git checkout main

Caso d'uso: archivio dehydrated

git rev-list --objects --all | \
  git pack-objects --stdout --revs --delta-base-offset \
  > offline.pack

Build deterministici

git fast-export --all --no-data > metadata-only.fi

Anonimizzare

git fast-export --all --anonymize > anon.fi

Chirurgia via filter-repo

git filter-repo usa fast-export internamente.

Errori comuni

Trattare i flussi fast-export come archivi portatili — sono orientati alle righe e legati alla versione di formato Git.

Performance

git fast-export --all | (cd /tmp/new && git init && git fast-import)