- Published on
Git va Source Control — bepul onlayn kurs kirish
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Bu — Git va Source Control bo'yicha kursning kirish videosi. Source control — barcha professional dasturchilar uchun majburiy va hal qiluvchi ko'nikma. Yolg'iz loyihada ishlaganda buning zarurati unchalik sezilmaydi, lekin professional muhitda ahamiyati tobora ortib boradi.
Source Control nima uchun kerak?
1. Backup — zaxira nusxa
Source control kodni bulutga (GitHub-ga) saqlash imkonini beradi. Agar kompyuterga biror narsa bo'lsa yoki noto'g'ri kod yozilsa — kod bazasini avvalgi saqlangan versiyaga qaytarish mumkin.
2. Asinxron jamoaviy ish
Bir vaqtning o'zida bir nechta dasturchi turli funksiyalar ustida ishlashi mumkin — ba'zan bir xil fayllarga tegishli bo'lgan o'zgarishlar bilan. Loyiha versiya nazorati ostida bo'lganda, barcha o'zgarishlar kuzatiladi: qaysi fayl qo'shilgan, qaysi fayl o'chirilgan, qaysi qator o'zgartirilgan.
Bu funksiyalarni birlashtirish (merge) vaqtida juda muhim — versiya nazorati tizimi ikki versiya orasidagi farqlarni aniqlaydi va ziddiyat (conflict) bo'lsa, buni ko'rsatib, hal qilishni so'raydi.
Remote va Local Repository
Versiya nazoratida ikkita asosiy tushuncha bor:
- Local repository — kompyuterda saqlanadigan kod versiyasi
- Remote repository — bulutda (masalan, GitHub-da) saqlanadigan kod versiyasi
Kod avval lokal saqlanadi, keyin remote repository-ga push qilinadi — xuddi fotosuratlarni internetga yuklash kabi. Boshqalarning o'zgarishlarini olish uchun esa pull qilinadi.
Kursda ishlatiladigan vositalar
Git operatsiyalarini bajarish uchun uchta asosiy vosita ishlatiladi:
- GitHub — remote repository xizmati, kodni bulutda saqlash uchun
- Xcode — ko'plab git operatsiyalarini to'g'ridan-to'g'ri muhitda bajarish uchun
- GitKraken — uchinchi tomon grafik interfeysi (GUI), git buyruqlarini vizual tarzda bajarish uchun
Eslatma: Bu kursda terminal orqali git buyruqlarini yozish o'rgatilmaydi. Buning sababi — kundalik ishda terminal kam ishlatiladi va terminalni o'rgatish dastlabki bosqichda jarayonni sekinlashtiradi. Avval grafik interfeys orqali git mantig'ini tushunish, keyin xohlasa terminalni o'rganish tavsiya etiladi — chunki terminal interfeysga qaraganda murakkabroq.
Kursda o'rganiladigan mavzular
Ushbu kursda quyidagi mavzular batafsil ko'rib chiqiladi:
- Commit — o'zgarishlarni saqlash
- Staging va Unstaging — o'zgarishlarni commit uchun tayyorlash
- Stashing — vaqtinchalik o'zgarishlarni saqlab turish
- Push va Pull — kodni remote repository-ga yuklash va olish
- Cherry-picking — muayyan commit-larni tanlab olish
- Merging va Rebasing — branch-larni birlashtirish
- Pull Request — kod o'zgarishlarini ko'rib chiqish va tasdiqlash jarayoni
- Code Owners — kod bo'limlariga mas'ul shaxslarni belgilash
- .gitignore fayllari — versiya nazoratidan chetlatiladigan fayllarni belgilash
- README fayllari — GitHub-da loyiha hujjatlari
- Release qilish — GitHub-da versiya chiqarish jarayoni
- GitFlow — professional muhitda versiya nazoratini tashkil etish strategiyasi
Nima uchun bu muhim?
Git va source control bevosita kod sifatiga ta'sir qilmasa-da, dasturchining umumiy unumdorligiga sezilarli ta'sir ko'rsatadi. Buni yaxshi o'zlashtirish — qachon branch ochish, qachon birlashtirish, funksiyani qanday qurish va uni asosiy kodga qanday qaytarish kabi jarayonlarni tez va aniq bajarish imkonini beradi. Bu ko'nikma egallanganda, ish jarayoni sezilarli darajada tezlashadi.