Einrichtung und Konfiguration
Projekte holen und erstellen
Grundlegende Snapshots
Branching und Merging
Projekte teilen und aktualisieren
Inspektion und Vergleich
Patching
Debugging
Externe Systeme
Server-Administration
Anleitungen
- gitattributes
- Konventionen der Kommandozeile
- Tägliches Git
- Häufig gestellte Fragen (FAQ)
- Glossar
- Hooks
- gitignore
- gitmodules
- Revisionen
- Submodule
- Tutorial
- Workflows
- Alle Anleitungen...
Administration
Plumbing-Befehle
- 2.46.1 → 2.52.0 keine Änderungen
-
2.46.0
2024-07-29
- 2.43.1 → 2.45.4 keine Änderungen
-
2.43.0
2023-11-20
- 2.40.1 → 2.42.4 keine Änderungen
-
2.40.0
2023-03-12
- 2.38.1 → 2.39.5 keine Änderungen
-
2.38.0
2022-10-02
- 2.37.1 → 2.37.7 keine Änderungen
-
2.37.0
2022-06-27
- 2.34.1 → 2.36.6 keine Änderungen
-
2.34.0
2021-11-15
- 2.29.1 → 2.33.8 keine Änderungen
-
2.29.0
2020-10-19
- 2.1.4 → 2.28.1 keine Änderungen
-
2.0.5
2014-12-17
SYNOPSIS
git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
[-o <file> | --output=<file>] [--worktree-attributes]
[--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
[<path>…]
BESCHREIBUNG
Erstellt ein Archiv des angegebenen Formats, das die Baumstruktur für den benannten Baum enthält, und schreibt es auf die Standardausgabe. Wenn <präfix> angegeben ist, wird es den Dateinamen im Archiv vorangestellt.
git archive verhält sich anders, wenn eine Baum-ID anstelle einer Commit-ID oder Tag-ID angegeben wird. Wenn eine Baum-ID angegeben wird, wird die aktuelle Zeit als Änderungszeit jeder Datei im Archiv verwendet. Wenn andererseits eine Commit-ID oder Tag-ID angegeben wird, wird stattdessen die Commit-Zeit verwendet, die im referenzierten Commit-Objekt aufgezeichnet ist. Zusätzlich wird die Commit-ID in einem globalen erweiterten Pax-Header gespeichert, wenn das Tar-Format verwendet wird; sie kann mit git get-tar-commit-id extrahiert werden. In ZIP-Dateien wird sie als Kommentar gespeichert.
OPTIONEN
- --format=<fmt>
-
Format des resultierenden Archivs. Mögliche Werte sind
tar,zip,tar.gz,tgzund jedes Format, das über die Konfigurationsoptiontar.<format>.commanddefiniert ist. Wenn--formatnicht angegeben ist und die Ausgabedatei angegeben ist, wird das Format nach Möglichkeit aus dem Dateinamen abgeleitet (z. B. schreibt das Schreiben nachfoo.zipdas Ergebnis imzip-Format). Andernfalls ist das Ausgabeformattar. - -l
- --list
-
Alle verfügbaren Formate anzeigen.
- -v
- --verbose
-
Fortschritt nach stderr melden.
- --prefix=<prefix>/
-
Stellt <präfix>/ den Pfaden im Archiv voran. Kann wiederholt werden; der rechteste Wert wird für alle verfolgten Dateien verwendet. Sehen Sie unten, welcher Wert von
--add-fileverwendet wird. - -o <file>
- --output=<file>
-
Schreibt das Archiv stattdessen in <file> anstelle von stdout.
- --add-file=<file>
-
Eine nicht verfolgte Datei zum Archiv hinzufügen. Kann wiederholt werden, um mehrere Dateien hinzuzufügen. Der Pfad der Datei im Archiv wird durch Aneinanderreihung des Werts der letzten
--prefix-Option (falls vorhanden) vor diesem--add-fileund des Basisnamens von <file> aufgebaut. - --add-virtual-file=<path>:<content>
-
Fügt den angegebenen Inhalt dem Archiv hinzu. Kann wiederholt werden, um mehrere Dateien hinzuzufügen.
Das Argument <path> kann mit einem doppelten Anführungszeichen beginnen und enden; der enthaltene Dateiname wird als C-ähnlicher String interpretiert, d.h. der Backslash wird als Escape-Zeichen interpretiert. Der Pfad muss zitiert werden, wenn er einen Doppelpunkt enthält, um zu verhindern, dass der Doppelpunkt als Trennzeichen zwischen Pfad und Inhalt fehlinterpretiert wird, oder wenn der Pfad mit einem doppelten Anführungszeichen beginnt oder endet.
Der Dateimodus ist auf eine reguläre Datei beschränkt, und die Option kann von plattformabhängigen Befehlszeilenbeschränkungen betroffen sein. Für nicht-triviale Fälle schreiben Sie eine nicht verfolgte Datei und verwenden stattdessen
--add-file.Beachten Sie, dass im Gegensatz zu
--add-fileder im Archiv erstellte Pfad nicht von der--prefix-Option beeinflusst wird, da ein vollständiger <path> als Wert der Option angegeben werden kann. - --worktree-attributes
-
Sucht auch nach Attributen in .gitattributes-Dateien im Arbeitsverzeichnis (siehe ATTRIBUTE).
- --mtime=<time>
-
Änderungszeit von Archiveinträgen festlegen. Ohne diese Option wird die Committer-Zeit verwendet, wenn <tree-ish> ein Commit oder Tag ist, und die aktuelle Zeit, wenn es ein Baum ist.
- <extra>
-
Dies können beliebige Optionen sein, die das Archiv-Backend versteht. Siehe nächster Abschnitt.
- --remote=<repo>
-
Anstatt ein Tar-Archiv aus dem lokalen Repository zu erstellen, ruft ein Tar-Archiv aus einem entfernten Repository ab. Beachten Sie, dass das entfernte Repository Einschränkungen für die zulässigen SHA1-Ausdrücke in <tree-ish> haben kann. Siehe git-upload-archive[1] für Details.
- --exec=<git-upload-archive>
-
Wird mit --remote verwendet, um den Pfad zu git-upload-archive auf der entfernten Seite anzugeben.
- <tree-ish>
-
Der Baum oder Commit, für den ein Archiv erstellt werden soll.
- <path>
-
Ohne einen optionalen Pfadparameter werden alle Dateien und Unterverzeichnisse des aktuellen Arbeitsverzeichnisses in das Archiv aufgenommen. Wenn ein oder mehrere Pfade angegeben werden, werden nur diese aufgenommen.
KONFIGURATION
- tar.umask
-
Diese Variable kann verwendet werden, um die Berechtigungsbits von Tar-Archiveinträgen einzuschränken. Der Standardwert ist 0002, was das Schreibrecht für andere abschaltet. Der spezielle Wert "user" bedeutet, dass die umask des archivierenden Benutzers stattdessen verwendet wird. Siehe umask(2) für Details. Wenn
--remoteverwendet wird, tritt nur die Konfiguration des entfernten Repositories in Kraft. - tar.<format>.command
-
Diese Variable gibt einen Shell-Befehl an, durch den die von
gitarchivegenerierte Tar-Ausgabe geleitet werden soll. Der Befehl wird über die Shell mit der generierten Tar-Datei auf seiner Standardeingabe ausgeführt und sollte die endgültige Ausgabe auf seiner Standardausgabe produzieren. Kompressionslevel-Optionen werden an den Befehl übergeben (z. B.-9).Die Formate
tar.gzundtgzwerden automatisch definiert und verwenden standardmäßig den magischen Befehlgitarchivegzip, der eine interne Implementierung von gzip aufruft. - tar.<format>.remote
-
Wenn wahr, wird das Format für die Verwendung durch entfernte Clients über git-upload-archive[1] aktiviert. Standardmäßig falsch für benutzerdefinierte Formate, aber wahr für die Formate
tar.gzundtgz.
ATTRIBUTE
- export-ignore
-
Dateien und Verzeichnisse mit dem Attribut export-ignore werden nicht zu Archivdateien hinzugefügt. Siehe gitattributes[5] für Details.
- export-subst
-
Wenn das Attribut export-subst für eine Datei gesetzt ist, erweitert Git mehrere Platzhalter beim Hinzufügen dieser Datei zu einem Archiv. Siehe gitattributes[5] für Details.
Beachten Sie, dass Attribute standardmäßig aus den .gitattributes-Dateien im zu archivierenden Baum stammen. Wenn Sie die Art und Weise, wie die Ausgabe generiert wird, nachträglich ändern möchten (z. B. Sie haben committet, ohne einen geeigneten export-ignore in seiner .gitattributes hinzuzufügen), passen Sie die ausgecheckte .gitattributes-Datei nach Bedarf an und verwenden Sie die Option --worktree-attributes. Alternativ können Sie die erforderlichen Attribute, die beim Archivieren jedes Baumes gelten sollen, in Ihrer Datei $GIT_DIR/info/attributes beibehalten.
BEISPIELE
- git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)
-
Erstellt ein Tar-Archiv, das den Inhalt des letzten Commits im aktuellen Branch enthält, und extrahiert es in das Verzeichnis
/var/tmp/junk. - git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz
-
Erstellt ein komprimiertes Tarball für das Release v1.4.0.
- git archive --format=tar.gz --prefix=git-1.4.0/ v1.4.0 >git-1.4.0.tar.gz
-
Dasselbe wie oben, aber mit der integrierten Tar.gz-Handhabung.
gitarchive--prefix=git-1.4.0/-ogit-1.4.0.tar.gzv1.4.0-
Dasselbe wie oben, aber das Format wird aus der Ausgabedatei abgeleitet.
- git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz
-
Erstellt ein komprimiertes Tarball für das Release v1.4.0, aber ohne globalen erweiterten Pax-Header.
- git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip
-
Legt alles im Documentation/-Verzeichnis des aktuellen HEAD in git-1.4.0-docs.zip, mit dem Präfix git-docs/.
gitarchive-olatest.zipHEAD-
Erstellt ein Zip-Archiv, das den Inhalt des letzten Commits im aktuellen Branch enthält. Beachten Sie, dass das Ausgabeformat durch die Erweiterung der Ausgabedatei abgeleitet wird.
gitarchive-olatest.tar--prefix=build/--add-file=configure--prefix=HEAD-
Erstellt ein Tar-Archiv, das den Inhalt des letzten Commits im aktuellen Branch ohne Präfix und die nicht verfolgte Datei configure mit dem Präfix build/ enthält.
gitconfigtar.tar.xz.command"xz-c"-
Konfiguriert ein "tar.xz"-Format zum Erstellen von LZMA-komprimierten Tarfiles. Sie können es verwenden, indem Sie
--format=tar.xzangeben oder eine Ausgabedatei wie-ofoo.tar.xzerstellen.
GIT
Teil der git[1] Suite