Git/GitHub
Git/GitHub

Oxirgi kunlarda, OMUC doirasida, Git va GitHub haqida juda ko'p so'rovlar tushdi. Biz IT yo'nalishining bir qismi ekanmiz, ular haqida bilishimiz shart. Men ushbu mavzuni nafaqat OMUC hamjamiyatiga yoritib berish, balki umuman IT doirasidagi o'zbek kontentiga hissa qo'shish maqsadida yozishga qaror qildim.

Ushbu maqolaning mavzusini o'zimning so'zlarim va Mediumdagi maqolalarni birlashtirish orqali ochib beraman. Barcha Mediumdagi maqolalarga havolalar keltiriladi.

Mundarija:

  1. Kirish
  2. Git nima?
  3. GitHub nima?
  4. Bularning hammasi qanday ishlaydi?
  5. GitHubdan ro'yxatdan o'tish va tanishuv
  6. Git repozitoriy yaratish 
    — 1 - usul
    — 2 - usul
  7. Git repozitoriyni clone qilish
  8. Git repozitoriyni fork qilish
  9. Xulosa
  10. Foydalanilgan manbalar

Kirish

Agar siz IT olamiga yaqin orada kirib kelgan bo'lsangiz, siz albatta Git yoki GitHub haqida eshitgansiz. Lekin, siz bu atamalar IT sohasida nega muhimligini tushunmayotgan bo'lishingiz tabiiy holat. Ushbu maqola orqali siz, Git va GitHub orasidagi farqni, qanday qilib Git repozitoriy yaratish, uni boshqarishni, jamoa bo'lib ishlashni va birinchi open-source loyihaga hissa qo'shishni o'rganib olasiz.

Xo'sh? Boshladik unda!

Oldin atamalar bilan tanishtirib o'taman, keyin kod yozishiga o'tamiz.

Git nima?

Git bu bepul, ochiq manbali, Linus Torvalds tomonidan 2005 yilda yaratilgan versiyani boshqarish tizimi. Versiyani boshqarish nima? Umuman olganda, bu vaqt o'tishi bilan fayllardagi o'zgarishlarni yozib olishga imkon beradigan tizim bo'lib, keyinchalik siz ushbu fayllarning o'ziga xos versiyalarini kuzatishingiz mumkin bo'ladi.


 

GitHub nima?

GitHub - bu Git repozitoriylarini boshqarishga imkon beradigan bulutga asoslangan hosting xizmati. Repozitoriylar bu yerda joylashgan barcha kod fayllarini o'z ichiga olgan papkaga o'xshaydi.


Bularning barchasi qanday ishlaydi?

Git va GitHubdan foydalanishnig bir qancha usullari mavjud, lekin ular bilan ishlashni boshlab olish unchalik qiyinchilik tug'dirmaydi. Buning uchun sizdan, dasturlashda master bo'lishingiz talab etilmaydi. Hatto, GitHub veb-saytining o'zida bir-nechta muhim amallarni ham bajarishingiz mumkin.

Albatta, git bilan ishlash uchun, siz terminal bilan oz bo'lsa ham tanish bo'lishingiz kerak.

Ushbu maqolada buyruqlarni Git Bash orqali kiritamiz.
 

Ushbu havola orqali Git Bash ni o'rnatib olishingiz mumkin,
pastroqda, u bilan hali juda ko'p ishlaymiz:

 — https://git-scm.com/downloads

Git Bash, shunga o'xshash oynadan iborat bo'ladi:

Git Bash 
Git Bash 

Oddiy bash buyruqlar:

  • pwd — sizning fayl sistemadagi joylashgan yo'lingizni ko'rsatadi.
  • ls — joriy papkadagi barcha fayl va boshqa papkalarning ro'yxatini ko'rsatadi.
  • cd [ yo'nalish ] — ko'rsatilgan yo'nalishdagi papkaga ko'chadi.
  • mkdir [ papka-nomi ] — kiritilgan nom bo'yicha papka yaratadi.
     

Maqolada quyidagi buyruqlar bilan yaqindan tanishib chiqamiz:

— git clone                                                             — git status
— git add                                                               — git commit -m " "                                                     — git push    

 

Yuqoridagi kodlarni bilish orqali, siz bemalol o'z loyihangiz ustida ishlashni boshlashingiz mumkin! Bu satrlar, eng muhimlari.

Bundan tashqari, git init  haqida ham gaplashib o'tamiz. 

 

GitHubda ro'yxatdan o'tish va tanishuv.
 

GitHub ning rasmiy saytiga kiring va ro'yxatdan o'ting. Ro'yxatdan o'tib bo'lgandan so'ng, saytda qolishingiz mumkin, u yerda barchasi juda yaxshi tuzilgan. Lekin, siz o'zingizni kompyuteringizda ishlamoqchi bo'lsangiz, Git ni o'ranitishning ayni vaqti.

Hozir esa terminalingizga o'ting va Git ga o'zingizni tanishtiring! Kompyuteringizdagi barcha repozitoriylar uchun ismingizni o'rnatish uchun, quyidagi satrni tering:

git config --global user.name "<sizning_ismingiz_shu_yerda>"

"<sizning_ismingiz_shu_yerda>" ning o'rniga siz o'zingizni ismingizni qo'shtirnoqlar ichida kiriting.
Agar ismingiz barcha repozitoriylarda bir xil bo'lishini istamasangiz, --global so'zini olib tashlang.

Endi Git ga o'z emailingizni kiriting. Emailingiz GitHub profilingizdagi email bilan bir xil ekanligiga ishonch komil qiling:

git config --global user.email "<emailingiz@email.com>"

Endi, kompyuteringizda Gitni ishlatishga tayyorsiz! (*)

* — Git bash ni GitHub akkauntingizga ulashda muammoga duch kelgan bo'lsangiz, men bilan aloqaga chiqing.
 


Git repozitoriy yaratish

Repozitoriy yaratishning 2 xil usulini ko'rib chiqamiz. Birinchisi faqatgina terminal orqali bo'lsa, ikkinchisini GitHub ning rasmiy sayti orqali tashkil etiladi.
 

Men allaqachon terminal bilan tanishman (1 - usul)

Agar siz tepada ko'rsatib o'tgan oddiy buyruqlar bilan oz bo'lsa ham tanishib olgan bo'lsangiz, 1 - usul siz uchun.

Agar sizda loyihangiz joylashgan papka bo'lsa, darhol o'sha papkaga o'ting, o'sha yerda Git Bashni oching va quyidagi satrni kiriting:

git init

Agar siz loyihangizdagi barcha fayllarni ham repozitoriyga kiritmoqchi bo'lsangiz quyidagi kodni kiriting:

git init .


Keling sizda "mening_loyiham" nomli papka bor deb tassavur qilaylik. Siz o'sha papkaga o'tish va quyidagi satrlarni kiritish orqali, mahalliy (local) repozitoriy yaratasiz:

cd mening_loyiham
git init

Hozir sizning loyiha papkangizda yashirin .git papkasi yaratildi. Bu yerda Git sizning loyihangizni kuzatishi uchun kerakli fayllarni saqlaydi. Endi esa, mahalliy repozitoriyingizga fayllaringizni birma-bir qo'shishingiz mumkin:

git add <fayl_nomi>

yoki ushbu satrni barcha fayllarni birdaniga qo'shish uchun kiriting:

git add .

Kiritilgan o'zgarishlarni quyidagi buyruq orqali commit qilishingiz (amalga oshirishingiz) mumkin: 


git commit -m "<kiritilgan o'zgarish haqida ma'lumot>"

Agar siz kiritgan o'zgarishinlaringizdan xursand bo'lsangiz, quyidagi buyruqni kiritish orqali GitHub ga push qilishingiz (yo'naltirishingiz) mumkin:

git push

Ushbu buyruq siz mahalliy repozitoriyingizni GitHub profilingizga yo'naltirdingiz (o'tqazdingiz), endi sizning fayllaringizni barcha ko'rishhi mumkin!

Siz o'zgarishlar haqida ma'lumotlarni olmoqchi bo'lsangiz, quyidagi satrni kiritish yetarli bo'ladi:

git status

Agar siz loyihaga yana o'zgartirish kiritgan bo'lsangiz, yuqorida ko'rsatib o'tib ketilgan buyruqdan foydalanasiz:

git add <fayl_nomi>   yoki  git add --all

O'zgarishlarni qo'shganingizdan so'ng, ularni commit qiling (amalga oshiring) va GitHub ga push qiling (yo'naltiring).

Bo'ldi! Endi siz, repozitoriy yarata olasiz, fayllarni, o'zgarishlarni qo'sha olasiz va GitHub ga push qilish orqali yo'naltira olasiz!

 


Tepada keltirilganlarni umuman tushunmadim! (2 - usul)
 

Xo'sh, men 2 - usulga qiziqayotganlarni, bu narsalarning barchasiga yaqinda kirib kelgan va fayllar to'la papkalarini GitHub ga qanday joylashni bilmasdan qiynalib yurgan bo'lajak dasturchilar deb qabul qilaman. 

Keling siz yangi repozitoriy ochmoqchisiz deb tasavvur qilaylik. (Katta ehtimol ochmoqchisiz! U yerda sizning loyihangiz yashaydi desak ham bo'ladi. Agar siz yangi repozitoriy ochmoqchi bo'lmasangiz, unda siz boshqa GitHub a'zolarining repozitoriyini clone qilasiz ya'ni undan nusxa olasiz, yoki fork qilasiz ya'ni repozitoriyni o'zingizning hisobingizga o'tqazasiz. Bular haqida pastroqda batafsil gaplashamiz.)

 
Sizning repozitoriyingiz bu loyiha maydoningiz. U yerda siz papkalarni, barcha turdagi fayllar — rasmlar, videolar, ma'lumotlar yig'ilmasi va boshqa barcha loyihangizga kerakli bo'lgan narsalarni saqlashingiz mumkin. Git bilan ishlashdan oldin, siz loyihangiz uchun yangi repozitoriy ochishingiz kerak bo'ladi. Siz buni Githubning veb-saytidan qilishingiz mumkin.

Repozitoriyingizda README faylini ochish juda yaxshi fikr, u yerda siz loyihangiz haqida ma'lumot yozib qoldirishingiz mumkin. Siz bu faylni checkbox ustiga bosish orqali yaratishingiz mumkin (rasmga e'tibor bering).

  • GitHub ning sayting o'ting, tepada o'ngda + belgisini bosing va "New repository" tugmasini bosing.
  • Repozitoriy nomini kiriting va u haqida kichik ma'lumot kiriting.
  • Bu repozitoriy ochiq yoki yopiq bo'lishi kerakligini hal qiling.
  • "Initialize this repository with a README" tugmasini README fayl ochmoqchi bo'lsangiz bosing. (Men sizlarga bu faylni yaratishni juda maslahat beraman. Chunki barcha kirgan odamlar birinchi navbatda shu faylni ko'zdan kechirishadi.)
Yangi repozitoriy yaratish - 1
Yangi repozitoriy yaratish - 1
Yangi repozitoriy yaratish - 2
Yangi repozitoriy yaratish - 2


Agar xohlasangiz, shu vaqtdan boshlab to'liq ishlashni boshlashingiz mumkin! Siz GitHub veb-saytida o'zingizning repozitoriyingizga fayllarni yuklashingiz, fayllarni tahrirlashingiz va hokazolarni amalga oshirishingiz mumkin. Biroq, ushbu variant sizni qoniqtirmasligi mumkin.


Loyihangizga o'zgartirish kiritishning ikki yo'li mavjud. Siz kompyuteringizda va GitHub-da ham fayllaringizga o'zgartirishlar kiritishingiz mumkin.


Keling siz README fayliga GitHub ning o'zidan o'zgartirish kiritmoqchisiz deb tasavvur qilaylik.

  • Birinichi navbatda, repozitoriyga o'ting.
  • Fayl nomi ustiga bosing va unga kiring. (masalan, "README.md" ustiga bosish orqali readme fayliga o'tasiz. )
  • Tepada o'ngda qalam ikonkasini bosing va o'zgartirishlar kiriting.
  • O'zgartirish haqida pastdagi kichik quticha ichiga ma'lumot kiriting.
  • "Commit changes" tugmasini bosing.
README.md


 

README.md da o'zgarishlar

                                                              
      
Endi sizning yangi repozitoriyingizda README fayliga o'zgarishlar kiritildi! 


Juda oson to'g'rimi?


Men GitHub veb-saytida butun loyihani yuritgandan ko'ra, mahalliy kompyuterimdagi fayllar bilan ishlashni afzal ko'raman, keling hozir shuni ko'rib chiqamiz.

  

git clone!
git clone!

Git repozitoriyni clone qilish                                                                                
 

O'zingizning shaxsiy kompyuteringizda ishlay olishingiz uchun yangi repozitoriyingizni klonlashtirishni xohlashingiz yoki klonlashni xohlagan mavjud repozitoriyingiz bo'lishi mumkin.
Bu holatda sizga git clone yordamga keladi.

Repozitoriyni kompyuteringizga klonlash uchun GitHub veb-saytidagi repozitoriyga o'ting va "Code." katta yashil tugmasini bosing. U yerda "Clone with HTTPS." yozuvi borligiga ishonch hosil qiling va havoladan nusxa oling.

Cloning repo
Cloning repo


Endi esa siz terminalingizni (Git Bash) ni ochasiz va qayerga repozitoriyni yuklamoqchi bo'lsangiz o'sha yerga o'tasiz. Masalan:

cd Desktop
 

Keyin o'sha papkaga repozitoriyni yuklaysiz ya'ni klonlashtirasiz. Buni qilish uchun:

git clone <repozitoriydan_olgan_havola_nusxangiz>

"Bo'ldimi?!" Ha, bo'ldi :) (e'tibor bering, < > lar buyruq kiritayotganingizda shart emas, ularni tushurib qoldiring. )


Endi sizning ish stolingizda hozirgina klonlangan GitHub repozitoriyi mavjud! Tepadagi buyruq sizning kompyuteringizga repozitoriyni nusxasini yuklab berdi, endi siz, o'zgartirish kirita olishingiz (git add), ularni amalga oshirib(git commit -m "ma'lumot"), qayta GitHub ga yo'naltirishingiz  (git push) mumkin! (Bularning barchasi haqida tepada gaplashib o'tdik, yana bir bor o'qib chiqing. )



Git repozitoriyni fork qilish

Boshqa GitHub a'zolarining repozitoriylaridan nusxa olib, o'zingizning hisobingizga joylashtirih kerak bo'lsa fork qilish funksiyasi mavjud. Buni faqat GitHub veb-sayti misolida ko'rib chiqamiz.

Keling men maqola yozayotgan paytdagi, Trending bo'limidagi ( Juda tezlik bilan mashhurlik yig'ayotgan loyihalar bo'limi) eng birinchida turgan, repozitoriyni fork qilib ko'ramiz. E'tibor bering u bugun 2000 dan ortiq yulduzlar yig'gan.
 

  • Trending bo'limiga o'ting. (Yuqorida "Explore" tugmasini bosing, so'ng "Trending".)
  • Eng birinchi repozitoriy ustiga bosing. (Rasmda macintosh.js.)
  • Sanchqi ikonkasini bosing va fork qiling.
  • O'zingizning hisobingizga o'ting va ishonch komil qiling.
Forking
Forking
Forking-2
Forking-2
Forking-3
Forking-3

 

Endi omuc-github hisobida macintosh.js repozitoriysining nusxasi mavjud. Bu nima uchun kerak o'zi? Agarda siz ushbu repozitoriy fayllarida xatolik topsangiz, yoki o'zingizning kodingizni taqdim etmoqchi bo'lsangiz, repozitoriy egasiga o'zgartirish kiritish uchun so'rov jo'natishingiz mumkin. Agar egasi rozi bo'lsa, siz loyiha qatnashuvchilarining (contributer) biriga aylansiz. Bu mavzu sizga qiziq bo'lsa, sharhlarda yozib qoldiring, alohida maqola yozish orqali batafsil tushuntirishga harakat qilaman.

FORK!
FORK!

Xulosa

Umid qilamanki, ushbu maqola sizga foydali bo'ldi va siz o'zingiz uchun kerakli ma'lumotni topdingiz. Topmagan bo'lsangiz, taklif yoki murojaatlaringiz bo'lsa, sharhlarda qoldiring. Barchangizga dasturlashda omad, maqolamni o'qiganingiz uchun tashakkur!


P.S. Eslatib o'tmoqchiman, bu maqola ingliz tilidagi maqolalar tarjimasining va so'zlarimning jamlanmasi.

 

Foydalanilgan manbalar

https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6
https://medium.com/@abhishekj/an-intro-to-git-and-github-1a0e2c7e3a2f