Exportieren Sie ein Git-Projekt
In diesem Artikel besprechen wir den Export eines Projekts in Git. Wir verwenden den Befehl git archive
, um eine Archivdatei unserer Git-Repositories zu erstellen.
Eine solche Datei kombiniert mehrere Dateien zu einer. Archivdateien erleichtern die gemeinsame Nutzung mit Entwicklern oder die Langzeitspeicherung.
den Befehl git archive
Was tut es?
Wir verwenden den Befehl git archive
, um Archivdateien für bestimmte Refs wie Commits, Branches und Bäume zu generieren. Der Befehl kann zusammen mit anderen Argumenten verwendet werden, um die Ausgabe zu ändern, wie unten gezeigt.
Git-Exportbeispiele
Beginnen wir mit einem einfachen git archive
-Befehl.
$ git archive --format=tar HEAD
Wenn wir diesen Befehl auf unserem Terminal ausführen, wird eine Archivdatei aus dem HEAD
in unserem Repository erstellt. Das Archiv geht in unseren temporären stdout
-Stream.
Wir können eine permanente Datei wie unten gezeigt angeben.
$ git archive --output=./sample_repo_archive.tar --format=tar HEAD
Wenn Sie den obigen Befehl ausführen, wird eine Archivdatei für unsere Referenz HEAD
erstellt und in einer Datei sample_repo_archive.tar
gespeichert. Die Option --format=tar
weist Git an, eine unkomprimierte Archivausgabe zu machen.
Wir können andere gängige Formate wie zip
und tar.gz
an unsere Formatoption übergeben. Wenn wir keine Formatoption einschließen, verwendet Git die angegebene --output
-Option.
$ git archive --output=./sample_repo_archive.tar.gz --format=tar HEAD ./Updates
Git ermöglicht es auch, Teile unseres Repositorys zu archivieren. Der obige Befehl erstellt eine Archivdatei für die Dateien im Verzeichnis /.Updates
in unserem Repository.
Nutzungsoptionen für Git-Archive
Die obigen Beispiele geben uns eine grundlegende Vorstellung von den am häufigsten verwendeten git archive
-Optionen. Lassen Sie uns eine weitere Option untersuchen, die wir an den Befehl übergeben können, um die Ausgabe weiter zu ändern.
--prefix=<prefix>/
Wir verwenden das prefix
-Argument, um allen Dateien in unserem Archiv einen Pfad anzuhängen, um die spätere Extraktion zu erleichtern.
--remote=<repo>
Dies ist der Go-to-Befehl in einem Szenario, in dem wir ein Archiv unseres Remote-Repositorys erstellen möchten. Beim Ausführen des Befehls müssen wir die URL unseres Remote-Repositorys angeben.
Der Befehl ermöglicht es uns auch, auf ref in unserem Remote-Repo zu verweisen.
Befehlskonfiguration
Der Befehl git archive
berücksichtigt die folgenden Konfigurationsoptionen.
$ git config --global tar.umask
Wir verwenden die Unmask-Konfiguration, um die Berechtigungsbitbeschränkung auf Unix-Ebene für unsere Archivdatei anzugeben.
tar.<format>.command
Wir verwenden die obige Option, um einen benutzerdefinierten Shell-Befehl zu erstellen, der unsere git archive
-Ausgabe ausführt. Es ist dasselbe, als würde man den stdout
-Stream an ein benutzerdefiniertes Tool weiterleiten und die --output
-Option weglassen.
Das Grundkonzept dieser Operation besteht darin, ein festes, maßgeschneidertes Archiv-Nachbearbeitungstool zu erstellen.
tar.<format>.remote
Wir können die obige Option aktivieren, um Remote-Entwicklern zu ermöglichen, Archive im angegebenen format
abzurufen.
Kurz gesagt verwenden wir den Befehl git archive
, um verteilbare Pakete unserer Git-Repositories zu generieren. Mit diesem Befehl können wir auf einen bestimmten Baum, Zweig oder Commit abzielen.
Es hat auch mehrere Ausgabeformate für zusätzliche Komprimierung.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn