Я пытаюсь создать zip-файл из папки, и я хотел бы исключить .git
подпапку из полученного zip-файла.
Я перешел в родительскую папку той, которую хочу заархивировать (она называется bitvolution ), и я делаю:
zip -r bitvolution.zip bitvolution -x ".git"
Но это не исключает .git
подпапку.
Я пробовал различные комбинации, -x .git*
, -x \.git/*
, -x .git/\*
, -x \.git/\*
. Я также попытался использовать полный путь для аргумента исключения ... но просто не получил там.
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*
Если вы пытаетесь заархивировать проект, который хранится в Git, используйте
git archive
команду. Из исходного каталога:Вы можете использовать любой коммит или идентификатор тега вместо того,
HEAD
чтобы заархивировать проект в определенный момент.Если вы хотите добавить префикс (например, папку верхнего уровня) к каждому файлу:
Вы также можете настроить уровень сжатия от 0 (без сжатия) до 9 (максимальное сжатие) включительно, например
Другие варианты см. На странице справки (
git help archive
).источник
Я добавил обратную косую черту:
Страница man о обратной косой черте:
источник
Предполагая, что на компьютере, на котором вы это делаете, установлен git, вы также можете использовать сам git для создания своего архива.
источник
Если вы используете zsh, команда должна выглядеть так:
Если вы используете:
zip -r target_name.zip source_dir -x /*.git/*
. без 'regex' zsh будет обрабатываться перед запуском zip. Вы получите сообщение об ошибке:источник