← До фільтрів та технологій

← До списку лабораторних по Git

Git Лабораторна 33: Створення архіву з конкретного коміту

Технологія: Git

Номер лабораторної: 33 · Рівень: middle

Тема: git archive: підготовка релізного артефакту

Повний опис / сценарій лабораторної:

Мета: навчитися створювати архіви з певного коміту або тега без службових файлів .git.



Крок 1. Перейти до репозиторію.

Команда: cd ~/git_lab1



Крок 2. Обрати тег або коміт для релізу.

Команда: git log --oneline -n 5

Пояснення: можна взяти тег v1.1.0 з попередньої лабораторної.



Крок 3. Створити tar архів з цього тега.

Команда: git archive --format=tar --prefix=project-1.1.0/ v1.1.0 > project-1.1.0.tar

Пояснення: prefix додає кореневу директорію всередині архіву.



Крок 4. Перевірити розмір і наявність архіву.

Команда: ls -lh project-1.1.0.tar



Крок 5. Створити zip архів з останнього коміту.

Команда: git archive --format=zip --prefix=project-latest/ HEAD > project-latest.zip



Крок 6. Переконатися що у архіві немає каталогу .git.

Команда: tar -tf project-1.1.0.tar | head

Пояснення: архів містить тільки робочі файли.



Крок 7. Розпакувати архів у окрему директорію та запустити проєкт.

Команда: mkdir -p ~/deploy_test && tar -xf project-1.1.0.tar -C ~/deploy_test



Крок 8. Підготувати простий скрипт релізу який автоматизує створення архіву з поточного тега.

Пояснення: у майбутньому його можна вбудувати у CI pipeline.



Крок 9. Задокументувати шаблон назви архівів.

Пояснення: наприклад project-версія-дата.tar.gz.



Крок 10. Міні звіт.

Завдання: опишіть переваги git archive перед ручним копіюванням файлів робочого каталогу для деплою.