Próbuję utworzyć plik zip z folderu i chciałbym wykluczyć .git
podfolder z wynikowego pliku zip.
Poszedłem do folderu nadrzędnego tego, który chcę spakować ( zwanego bitvolution ) i wykonuję :
zip -r bitvolution.zip bitvolution -x ".git"
Ale to nie wyklucza .git
podfolderu.
Próbowałem różnych kombinacji, -x .git*
, -x \.git/*
, -x .git/\*
, -x \.git/\*
. Próbowałem również użyć pełnej ścieżki do argumentu wykluczenia ... ale po prostu nie dotarłem.
zip --exclude '*.git*' -r directory.zip directory
zip --exclude \*.git\* -r directory.zip directory
--exclude /.git*
.-x \*.git\*
noglob zip -r out.zip someFolder -x *someExcludedFolder*
Jeśli próbujesz skompresować projekt przechowywany w Git, użyj
git archive
polecenia. Z katalogu źródłowego:Możesz użyć dowolnego zatwierdzenia lub identyfikatora tagu zamiast
HEAD
zarchiwizować projekt w pewnym momencie.Jeśli chcesz dodać prefiks (np. Folder najwyższego poziomu) do każdego pliku:
Możesz także dostosować poziom kompresji między 0 (bez kompresji) i 9 (maksymalna kompresja) włącznie, na przykład
Inne opcje można znaleźć na stronie pomocy (
git help archive
).źródło
Dodałem ukośnik odwrotny:
strona podręcznika o odwrotnym ukośniku:
źródło
Zakładając, że masz zainstalowany git na maszynie, którą robisz, możesz również użyć samego git do utworzenia swojego archiwum.
źródło
Jeśli używasz zsh, polecenie powinno wyglądać następująco:
Jeśli używasz:
zip -r target_name.zip source_dir -x /*.git/*
. bez „regex”, zsh przetworzy przed uruchomieniem zip. Otrzymasz komunikat o błędzie:źródło