Published on

Git va Source Control — bepul onlayn kurs kirish

Authors

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.

Buy mea coffee