git tag — muhim commit’larni belgilab qo’yadigan buyruq. Loyihaning ma’lum bir holati — masalan, rasmiy chiqarilgan versiyasi (v1.0) — belgilanishi kerak. Teglar aynan shu vazifani bajaradi: ular tarixdagi muhim nuqtalarga “yorliq” qo’yadi va ularga oson qaytish imkonini beradi.
git tag — ma’lum commit’ga o’zgarmas nom (yorliq) beradigan buyruq. U asosan dastur versiyalarini (release) belgilashda ishlatiladi.
Teg yaratish
git tag joriy commit’ga yorliq qo’yadi. Odatda versiya nomi beriladi:
git tag v1.0
[v1.0 tegi yaratildi]
v1.0 — joriy commit’ga qo’yilgan yorliq. Endi bu commit’ga hash o’rniga oddiy v1.0 nomi bilan murojaat qilish mumkin. Bu dasturning birinchi rasmiy versiyasini belgiladi.
Izohli teg
Professional loyihalarda izohli teg (-a) ishlatiladi — u xabar, muallif va sanani saqlaydi:
git tag -a v1.0 -m "Birinchi barqaror versiya"
[v1.0 izohli teg yaratildi: "Birinchi barqaror versiya"]
-a v1.0 -m "..." — izohli teg yaratdi. Bu oddiy tegdan farqli o’laroq, versiya haqida to’liq ma’lumot saqlaydi. Rasmiy chiqarilishlar uchun aynan shu tavsiya etiladi.
Teglarni ko’rish va boshqarish
Teg buyruqlarini jadvalda ko’ramiz:
| Buyruq | Vazifasi |
|---|---|
git tag |
barcha teglar ro’yxati |
git tag -a v1.0 -m "..." |
izohli teg |
git show v1.0 |
teg tafsilotlari |
git tag -d v1.0 |
tegni o’chiradi |
git push origin v1.0 |
tegni bulutga yuboradi |
Teglarni bulutga yuborish
Muhim nozik nuqta: git push teglarni avtomatik yubormaydi — ularni alohida yuborish kerak:
git push origin v1.0
To https://github.com/uzbekdevs/loyiha.git
* [new tag] v1.0 -> v1.0
git push origin v1.0 tegni bulutga yubordi. Barcha teglarni bir yo’la yuborish uchun git push --tags ishlatiladi. GitHub’da teglar “Releases” sifatida ko’rinadi.
Semantik versiyalash
Teglarda odatda semantik versiyalash ishlatiladi: vMAJOR.MINOR.PATCH (masalan, v2.1.3). MAJOR — katta o’zgarish, MINOR — yangi funksiya, PATCH — xato tuzatish. Bu tizim foydalanuvchilarga versiyalar orasidagi farqni tushunishga yordam beradi.
Xulosa
Bu bo’limda git tag bilan versiyalarni belgilash, izohli teg (-a), teglarni bulutga yuborish va semantik versiyalashni ko’rib chiqdik. Teglar — dastur chiqarilishlarini belgilashning quroli. Keyingi darsda Git ish oqimlariga (workflow) o’tamiz.