- Published on
Git: versiyalash, teglar (tags) va relizlar
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
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
| Raqam | Qachon o'zgaradi | Misol |
|---|---|---|
| MAJOR | Katta o'zgarishlar, yangi konsept | 1.0.0 β 2.0.0 |
| MINOR | Yangi funksionallik, mavjud tuzilma o'zgarmaydi | 1.0.0 β 1.1.0 |
| PATCH | Xatolik tuzatish, kichik o'zgarish | 1.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
- Source Control β Repositories β commit tarixini oching
- Teglanmoqchi bo'lgan commit ustiga o'ng tugma bosing
Tag "commit-nomi"...β nom kiriting (masalan,1.0.0)Createbosing
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
- GitHub repo sahifasida
Releases β Create a new release - Choose a tag β oldin push qilingan teg tanlanadi
- Release title β odatda versiya raqami
- 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 noteso'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.