Published on

Git: versiyalash, teglar (tags) va relizlar

Authors

Bu darsda loyihani rasmiy ravishda chiqarishga tayyorlash jarayoni ko'rib chiqiladi: versiya raqamini yangilash, commit-ga teg qo'shish va GitHub-da reliz e'lon qilish.


1. Versiyalash β€” Version va Build raqamlari

Xcode-da versiya tuzilmasi

Xcode-da har bir ilovaning ikkita raqami bor:

  • Version (Marketing Version) β€” foydalanuvchilarga ko'rinadigan versiya: 1.0.0
  • Build Number β€” texnik raqam, har bir build-da ortib boradi: 1, 2, 3...

Versiya raqami formati

MAJOR.MINOR.PATCH
RaqamQachon o'zgaradiMisol
MAJORKatta o'zgarishlar, yangi konsept1.0.0 β†’ 2.0.0
MINORYangi funksionallik, mavjud tuzilma o'zgarmaydi1.0.0 β†’ 1.1.0
PATCHXatolik tuzatish, kichik o'zgarish1.0.0 β†’ 1.0.1

Ilova hali chiqarilmagan, ishlab chiqilish bosqichida bo'lsa β€” 1.0-dan past raqam ishlatiladi:

0.0.1  β†’  0.1.0  β†’  0.9.0  β†’  1.0.0 (birinchi rasmiy reliz)

Build raqami strategiyasi

Eski yondashuv: build raqami sifatida sana ishlatilgan β€” masalan, 20240303.

Zamonaviy yondashuv (Xcode Cloud bilan mos): build raqami har safar bittaga oshib boradi β€” 1, 2, 3... Versiya qancha bo'lishidan qat'i nazar, build raqami doimo ortib ketaveradi.

Versiya o'zgarganda commit qilish

Majburiy emas, lekin versiya o'zgartirish tarixda ko'rinib turishi foydali:

Commit xabari: release: increment version to 1.0.0 (build 2)

2. Teglar (Tags)

Teg β€” commit tarixidagi muayyan bir commit-ni muhim sifatida belgilovchi yorliq. Minglab commit orasidan kerakli relizni tezda topish uchun ishlatiladi.

Teglar odatda quyidagi holatlarda qo'yiladi:

  • Yangi versiya relizi (1.0.0, 1.0.1)
  • Muhim yangilanish yoki katta merge

Xcode-da teg qo'shish

  1. Source Control β†’ Repositories β†’ commit tarixini oching
  2. Teglanmoqchi bo'lgan commit ustiga o'ng tugma bosing
  3. Tag "commit-nomi"... β†’ nom kiriting (masalan, 1.0.0)
  4. Create bosing

Teg local-da yaratiladi β€” remote-ga alohida push qilish kerak.

Tegni remote-ga push qilish

Xcode-da: Integrate β†’ Push va Include tags opsiyasini belgilang.

Teg push qilinmasa, GitHub-da ko'rinmaydi va reliz uchun ishlatib bo'lmaydi.

Teg nomlash

Ko'p ishlatiluvchi formatlar:

1.0.0
v1.0.0

Ba'zida reliz bo'lmagan muhim commit-lar uchun tavsiflovchi nom ishlatiladi:

docs-fix-2024-03
major-refactor-auth

3. GitHub-da Reliz e'lon qilish

GitHub release-i β€” teg orqali muayyan commit-ga bog'langan rasmiy e'lon. Foydalanuvchilar va hamkorlar uchun "Nima yangi?" ma'lumotini beradi.

Reliz yaratish

  1. GitHub repo sahifasida Releases β†’ Create a new release
  2. Choose a tag β€” oldin push qilingan teg tanlanadi
  3. Release title β€” odatda versiya raqami
  4. Description β€” reliz haqida qisqa ma'lumot

Reliz tavsifi uchun tavsiyalar

Shaxsiy yoki kichik loyihalar uchun:

## v1.0.0 β€” 2024 yil 3 mart

Dastlabki rasmiy reliz.

Katta loyihalar yoki ochiq manba uchun:

## v1.0.1 β€” 2024 yil 3 mart

### O'zgarishlar

- Settings ekranidagi xatolik tuzatildi
- Login sahifasi yuklanishi tezlashtirildi

### Yangi funksionallik

- Qorong'i rejim qo'llab-quvvatlandi

Generate release notes funksiyasi

GitHub oxirgi teg va joriy teg orasidagi barcha merge-larni avtomatik sanab chiqadi. Branchlar to'g'ri merge qilingan loyihalarda bu juda foydali β€” o'zgarishlarni qo'lda yozishning hojati yo'q.

Tugmani bosish: Generate release notes

Reliz holatlari

  • Publish release β€” hoziroq ochiq qiling
  • Save as draft β€” keyinchalik tahrirlash uchun saqlang
  • Pre-release β€” hali ishlab chiqarishda emas, sinov versiyasi

4. To'liq versiyalash jarayoni

Yangi reliz tayyorlashda odatdagi ketma-ketlik:

1. Xcode-da Version va Build raqamini yangilang
2. O'zgarishni commit qiling:
   "release: increment version to 1.0.1 (build 3)"
3. GitHub-ga push qiling
4. Kerakli commit-ga teg qo'ying: 1.0.1
5. Tegni ham push qiling (Include tags)
6. GitHub β†’ Releases β†’ Create new release
7. Tegni tanlang, tavsif yozing, publish qiling

5. Teglar va branchlar bilan ishlash

Xcode-da Source Control β†’ Repositories bo'limida Tags papkasi ko'rinadi. Tegga bosish β€” o'sha commit-ga o'tish imkonini beradi. Teg ustiga o'ng tugma bosib, o'sha holatdan yangi branch yaratish ham mumkin:

Teg 1.0.0 β†’ Create Branch from Tag β†’ hotfix-1.0.0

Bu eski versiyaga tuzatish qo'shish kerak bo'lganda foydali β€” hozirgi rivojlanishni to'xtatmasdan.


Xulosa

Bu darsda o'rganildi:

  • MAJOR.MINOR.PATCH β€” versiya raqami formati va qachon qaysi qismni oshirish
  • Build raqami β€” har bir build-da bittadan oshib boruvchi texnik raqam
  • Teg β€” commit tarixidagi muhim nuqtani belgilovchi yorliq; local yaratilgandan so'ng alohida push qilinadi
  • GitHub Release β€” teg asosida yaratilgan rasmiy e'lon; Generate release notes o'zgarishlarni avtomatik sanaydi
  • Reliz holatlari: Publish, Draft, Pre-release
  • Eski versiyaga tuzatish uchun teg ustidan yangi branch yaratish mumkin

Keyingi darsda git flow β€” professional muhitda butun jarayon qanday tashkil etilishi ko'rib chiqiladi.

Buy mea coffee