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

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

Git Лабораторна 82: Автоматичний номер версії з тега

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

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

Тема: Git describe для побудови версій

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

Meta: навчитися генерувати людинозрозумілий і унікальний номер версії з тегів і хешів.



Krok 1. Переконатися що у репозиторії є хоча б один тег релізу.

Komanda: cd ~/git_lab1 && git tag

Poyasnennya: за потреби створи тег типу v1.0.0.



Krok 2. Виконати git describe для поточного коміту.

Komanda: git describe

Poyasnennya: вивід містить базовий тег, кількість комітів після нього і скорочений хеш.



Krok 3. Переглянути докладну довідку.

Komanda: git help describe



Krok 4. Спробувати режим only tags.

Komanda: git describe --tags

Poyasnennya: команда шукає найближчий тег незалежно від того аннотований він чи легкий.



Krok 5. Вивести опис для конкретного коміту.

Komanda: git describe --tags ХЕШ



Krok 6. Спробувати опцію dirty для позначення брудного дерева.

Komandi: echo "local change" >> desc82.txt; git describe --dirty

Poyasnennya: якщо є незакомічені зміни, до версії додається суфікс.



Krok 7. Створити простий скрипт версії для застосунку.

Komanda: echo "VERSION=$(git describe --tags --always --dirty)" > get_version82.sh



Krok 8. Зробити скрипт виконуваним і протестувати.

Komandi: chmod +x get_version82.sh; ./get_version82.sh



Krok 9. Занотувати як інтегрувати git describe у систему збірки, наприклад у змінні середовища.



Krok 10. Mini zvit.

Zavdannya: опиши переваги версій на основі тегів у порівнянні з ручним номеруванням.