- Published on
Git va Source Control β Remote Repository yaratish va Clone qilish
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Avvalgi videoda GitHub, Xcode va GitKraken sozlandi. Bu videoda ikkita asosiy amal ko'rib chiqiladi: repository yaratish (yangi loyihani GitHub-ga yuklash) va repository-ni clone qilish (mavjud loyihani GitHub-dan kompyuterga yuklab olish).
1-qism: Yangi loyiha yaratish va GitHub-ga yuklash
Xcode-da loyiha yaratish
Yangi loyiha yaratishda Xcode "Create new" yoki "Clone" tanlovini taqdim etadi. Bu bo'limda β yangi loyiha yaratish ko'rib chiqiladi, chunki bu eng keng tarqalgan holat: loyiha avval lokal kompyuterda boshlanadi, keyin GitHub-ga yuklanadi.
Loyiha yaratish jarayonida saqlash ekranida muhim sozlama bor: "Create Git repository on my Mac" katakchasi belgilangan bo'lishi kerak. Bu β Xcode loyihani lokal Source Control ostiga qo'yishini bildiradi.
Muhim: Bu bosqichda loyiha faqat lokal Source Control ostiga qo'yiladi β bu hali GitHub bilan hech qanday bog'liqligi yo'q. Bu shunchaki kompyuterda o'zgarishlarni kuzatib borishni boshlash degani.
Source Control ishlayotganini tekshirish
Loyiha yaratilgandan so'ng, Source Control yoki Integrate panelida commit, push, pull kabi tugmalar faollashgan bo'lishi kerak. Agar bu tugmalar faol bo'lmasa, loyiha Source Control ostiga qo'yilmagan β uni qo'lda qo'shish kerak bo'ladi.
Kodga o'zgartirish kiritilganda (masalan, qo'shimcha padding qo'shilganda), qator chetida ko'k chiziq paydo bo'ladi β bu o'zgarish Source Control tomonidan kuzatilayotganini bildiradi.
GitHub-da Remote Repository yaratish
Hozircha loyiha faqat kompyuterda mavjud β GitHub-da hali yo'q. Buni tekshirish uchun GitHub-dagi repositories bo'limiga kirilsa, loyiha ko'rinmaydi.
Source Control Navigator
Xcode-da odatdagi Project Navigator-dan tashqari, alohida Source Control Navigator mavjud. Bu yerda:
- Hozirgi o'zgarishlar ro'yxati ko'rinadi (masalan, "M" belgisi β Modified, ya'ni o'zgartirilgan fayl)
- Repositories bo'limida barcha repo-lar va ularning remote holati ko'rsatiladi
Remote yaratish
Source Control Navigator-da Remotes bo'limiga o'ng tugma bosilib, "Create New Remote" tanlanadi. Bu jarayonda quyidagilar so'raladi:
- Repository nomi β maxsus belgilardan saqlanish kerak (faqat harf, raqam, tire va pastki chiziqdan foydalanish tavsiya etiladi)
- Tavsif (description) β ixtiyoriy, keyin ham o'zgartirish mumkin
- Public yoki Private:
- Public β har kim ko'ra oladi. Portfolio sifatida ko'rsatish yoki ish beruvchilarga kod namunasini taqdim etish uchun mos
- Private β faqat siz va taklif qilingan hamkasblar (collaborators) ko'ra oladi. Tijorat loyihalari yoki App Store-ga chiqariladigan ilovalar uchun mos
- Remote nomi β odatda
origindeb qoldiriladi (standart amaliyot)
Eslatma: Katta kompaniyalarda odatda Enterprise yoki Business GitHub akkaunti bo'ladi β bunda butun jamoa bitta tashkilot ostida birlashtiriladi, har bir loyiha uchun alohida foydalanuvchi taklif qilish shart emas.
Remote yaratilgandan so'ng, GitHub-dagi repositories bo'limida yangi loyiha paydo bo'ladi β barcha fayllar (kod, asset-lar, konfiguratsiya fayllari) avtomatik yuklanadi.
GitKraken orqali vizual ko'rinish
GitKraken-da repo ochilganda, Source Control jarayoni vizual tarzda ko'rsatiladi:
- Initial commit β birinchi saqlangan holat
- WIP (Work In Progress) β hozirgi, hali commit qilinmagan faol o'zgarishlar
- O'zgartirilgan fayllarni bosib, aniq qaysi qatorlar o'zgarganini ko'rish mumkin
- Unstaged holat β o'zgarish hali commit qilishga tayyor emasligini bildiradi (staging haqida alohida videoda batafsil)
GitKraken-ning asosiy afzalligi β Source Control jarayonini Xcode-ga qaraganda ancha aniq va vizual ko'rsatishi.
2-qism: Repository-ni Clone qilish
Clone β bu mavjud GitHub repository-sini birinchi marta lokal kompyuterga yuklab olish jarayoni. Bu odatda yangi jamoaga qo'shilganda yoki boshqa kompyuterda ishlashni davom ettirishda kerak bo'ladi.
Muhim farq: Download ZIP vs Clone
GitHub-da "Download ZIP" tugmasi bor, lekin bu Source Control bilan bog'liqlikni saqlamaydi β bu shunchaki fayllarning statik nusxasi. Source Control bilan ishlashni davom ettirish uchun clone qilish kerak.
1-usul: "Open with Xcode" tugmasi orqali
GitHub repository sahifasida "Open with Xcode" tugmasi mavjud. Bosilganda Xcode ochiladi va loyihani saqlash joyi so'raladi β bu jarayon clone deb ataladi: remote repo-ning nusxasi lokal kompyuterga yaratiladi.
2-usul: HTTPS URL orqali
GitHub-dagi repository URL-i nusxalanadi. Xcode-da:
- File β Clone yoki Recents menyusidan Clone
- URL joylashtiriladi
- Saqlash joyi tanlanadi va Clone bosiladi
3-usul: GitKraken orqali
GitKraken-da "Clone a Repo" tanlanib, GitHub manbasi tanlanadi. Agar GitHub akkaunt allaqachon ulangan bo'lsa, mavjud repo-larni qidirib, to'g'ridan-to'g'ri tanlash mumkin β URL nusxalashning hojati yo'q.
Clone qilingandan keyin
Loyiha clone qilingandan so'ng:
- Barcha commit qilingan o'zgarishlar mavjud bo'ladi
- Commit qilinmagan (saqlanmagan) o'zgarishlar mavjud bo'lmaydi β chunki ular hech qachon remote repo-ga yuklanmagan edi
- Source Control Navigator-da loyiha branch-i va remote holati ko'rinadi
Nima uchun bu muhim?
Remote va local repository-ning ikkalasi ham mavjud bo'lishi β bu eng katta afzalliklardan biri. Agar lokal kompyuterda biror muammo yuzaga kelsa (masalan, qurilma buzilsa), barcha o'zgarishlar GitHub-da saqlangan bo'ladi va istalgan vaqtda qayta clone qilish mumkin.
Bu nafaqat jamoaviy ishlash uchun, balki yakka dasturchilar uchun ham muhim β bu doimiy zaxira nusxa (backup) vazifasini bajaradi.
Xulosa
| Amal | Jarayon |
|---|---|
| Yangi loyiha yaratish | Xcode β "Create Git repository on my Mac" belgilash |
| GitHub-ga yuklash | Source Control Navigator β Remotes β Create New Remote |
| Mavjud loyihani olish | GitHub β "Open with Xcode" / HTTPS URL / GitKraken orqali Clone |
Endi loyiha sizning kompyuteringizda (local repository) va GitHub-da (remote repository) β ikkala joyda ham mavjud. Keyingi videolarda Source Control-dan amaliy foydalanish β commit, staging va boshqa asosiy amallar ko'rib chiqiladi.