Ich versuche eine Zip-Datei aus einem Ordner zu erstellen und möchte den .git
Unterordner aus der resultierenden Zip-Datei ausschließen.
Ich bin in den übergeordneten Ordner des Ordners gegangen, den ich komprimieren möchte ( BitVolution ) und mache Folgendes :
zip -r bitvolution.zip bitvolution -x ".git"
Der .git
Unterordner wird jedoch nicht ausgeschlossen .
Ich habe verschiedene Kombinationen ausprobiert, -x .git*
, -x \.git/*
, -x .git/\*
, -x \.git/\*
. Ich habe auch versucht, den vollständigen Pfad für das Ausschlussargument zu verwenden, bin aber einfach nicht dahin gekommen.
zip --exclude '*.git*' -r directory.zip directory
oderzip --exclude \*.git\* -r directory.zip directory
--exclude /.git*
.-x \*.git\*
noglob zip -r out.zip someFolder -x *someExcludedFolder*
Wenn Sie versuchen, ein in Git gespeichertes Projekt zu komprimieren, verwenden Sie den
git archive
Befehl. Aus dem Quellverzeichnis:Sie können eine beliebige Festschreibungs- oder Tag-ID verwenden,
HEAD
um das Projekt an einem bestimmten Punkt zu archivieren.Wenn Sie jeder Datei ein Präfix hinzufügen möchten (z. B. einen Ordner der obersten Ebene):
Sie können die Komprimierungsstufe beispielsweise auch zwischen 0 (keine Komprimierung) und 9 (maximale Komprimierung) einstellen
Weitere Optionen finden Sie auf der Hilfeseite (
git help archive
).quelle
Ich habe Backslash hinzugefügt:
Manpage über Backslash:
quelle
Vorausgesetzt, Sie haben git auf dem Computer installiert, auf dem Sie dies tun, können Sie git auch selbst verwenden, um Ihr Archiv zu erstellen.
quelle
Wenn Sie zsh verwenden, sollte der Befehl folgendermaßen aussehen:
Wenn Sie verwenden:
zip -r target_name.zip source_dir -x /*.git/*
. Ohne 'Regex' wird zsh verarbeitet, bevor zip ausgeführt wird. Sie erhalten eine Fehlermeldung:quelle