Die Filter-Sprache
Partial-Clone-Filter werden durch kurze DSL-Strings spezifiziert.
Haufige Filter
blob:none— alle Blobs weglassen.blob:limit=<n>[kmg].tree:<depth>.sparse:oid=<blob>.object:type=tag(Git 2.36+).combine:F1+F2+....
Beispiele
git clone --filter=blob:none url big-no-blobs
git clone --filter=blob:limit=10m url big-small-blobs
git clone --filter=tree:0 --no-checkout url history-only
git clone --filter=combine:blob:none+tree:0 url metadata-only
Filter wahlen
| Anwendungsfall | Filter |
|---|---|
| Tagliche Entwicklung auf Teilmenge | blob:none + sparse-checkout |
| CI fur spezifische App | blob:none + sparse-checkout cone |
| Nur Historieanalyse | tree:0 |
| Grosse Mediendateien getrennt | blob:limit=10m |
| Read-only Release-Deploy | blob:none + Tag auschecken |
Sparse-Filter
blob_oid=$(git hash-object .sparse)
git clone --filter=sparse:oid=$blob_oid url
Kombinieren
git clone --filter=combine:blob%3Anone+tree%3A0 url
Verifikation
git config --get remote.origin.partialclonefilter
git rev-list --missing=print HEAD | wc -l
du -sh .git/objects
Haufige Fehler
tree:0 fur aktive Entwicklung verwenden.