Exportieren Sie ein Git-Projekt

John Wachira 12 Juli 2022
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 Wachira avatar John Wachira avatar

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