Git: створити архів

Можливо ви не знаєте, але в системі контролю версій Git є чудова функція, що дозволяє створювати архів з файлів репозиторію.

Наприклад, ви можете створити такий сценарій мовою Bash для створення Git архівів:

#!/bin/bash

GIT_DIR="/home/taras/git_working_copy_dir/"
ZIP_NAME="_git_archives/taras-`date +'%Y%m%d%H%M'`.zip"

cd ${GIT_DIR}
pwd
# make zip archive from current git HEAD branch
git archive HEAD --format=zip -o ${ZIP_NAME}
# delete some files from zip archive
zip -d ${ZIP_NAME} ./.gitignore
#
echo "Archive file ${ZIP_NAME} is:"
ls -alh ${ZIP_NAME}
#
echo "Archive content:"
unzip -l ${ZIP_NAME} |more

Також, ви можеете використати формат архіву tar замість zip, та додатково запакувати його за допомогою gzip.

# git archive --format=tar --prefix=git-1.0/ v1.0 | gzip >git-1.0.tar.gz

Пояснення до опцій команди вище:

  • v1.0 – назва тегу, або номер релізу архіву
  • –prefix=git-1.0/ – додасть папку git-1.0/ всередині архіву
  • –format=tar – tar – бажаний форат архіву