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

fast-export und fast-import

git fast-export serialisiert ein Repository in einen Strom von Befehlen; git fast-import rekonstruiert ein Repository aus einem. Zusammen bilden sie das Datenaustausch-Protokoll von Git.

Exportieren

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

Importieren

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

Anwendungsfall: dehydriertes Archiv

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

Deterministische Builds

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

Anonymisieren

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

Chirurgie via filter-repo

git filter-repo verwendet fast-export intern.

Haufige Fehler

fast-export-Strome als portable Archive behandeln — sie sind zeilenorientiert und an die Git-Format-Version gebunden.

Performance

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