git archive
Verwaltung
Exportiert die Dateien eines Commits als Zip- oder Tar-Archiv
Der Befehl 'git archive' schreibt die Dateien eines Commits, Tags oder Branches in ein Zip- oder Tar-Archiv — ohne Historie und ohne .git-Ordner. So veröffentlicht man ein Release üblicherweise als Download. Das Format folgt der Endung der Ausgabedatei, und --prefix legt alle Dateien in einen Ordner.
Syntax
git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [-o <file>] <tree-ish> [<path>...][ ] optional| oder<arg> Platzhalter... wiederholbar--flag Option
Optionen
Die richtige Option wählen
archive oder bundle
Dateien oder Historie?
| Befehl | Enthält | Einsatz |
|---|---|---|
git archive | Die Dateien eines Commits | Downloads, Deployments |
git bundle | Commits und Branches | Ein Repository offline übertragen |
Beispiele
Ein Release zippen
git archive -o shop-1.0.zip v1.0Die Dateien von v1.0 in einem Zip.
Tar mit einem Ordner
git archive --prefix=shop/ -o shop.tar.gz HEADAlles in shop/.
Nur ein Ordner
git archive -o docs.zip HEAD docs/Nur der Ordner docs.
Workflow-Beispiele
1
git tag -a v1.0 -m "Release"Taggen
2
git archive --prefix=shop-1.0/ -o shop-1.0.zip v1.0Exportieren
Fehlerbehebung
Einige Dateien fehlen
Ursache: Unverfolgte oder ignorierte Dateien werden nie archiviert
Committe sie, oder prüfe die export-ignore-Regeln in .gitattributes
Tipps & Stolperfallen
Best Practices
- ✓Archiviere Tags, keine Branches, damit der Download zum Release passt.
Häufige Fehler
- ✗Historie im Archiv erwarten — für Historie gibt es git bundle.
- ✗-o vergessen und das Terminal mit Binärdaten füllen.
FAQ
A:
Ja: markiere sie in .gitattributes mit export-ignore.