Git archive: собрать ZIP проекта без каталога .git

Категория: Git · Язык: Bash · Обновлено:

git archive собирает файлы выбранного коммита или тега и не включает историю .git. Команда подходит для передачи исходников или подготовки source package конкретного релиза. ????? ??????????? ?????????? ???????? ?????? ??????? ? ????????? ?????? ? ??????? ?????.

Рабочий пример

Bash
git archive --format=zip --prefix=app/ -o app-v1.4.0.zip v1.4.0
git archive --format=tar v1.4.0 | gzip > app-v1.4.0.tar.gz

Укажите тег или хеш явно, чтобы результат не зависел от текущей незакоммиченной рабочей папки. --prefix добавляет общий каталог внутри архива и предотвращает распаковку поверх текущих файлов.

Частый вопрос

Попадут ли в ZIP игнорируемые локальные файлы?

Нет, архив строится из отслеживаемого Git дерева выбранного коммита. Неотслеживаемые локальные файлы и секреты не включаются.