Asosiy kontentga o‘tish

Maqolalar 10 daqiqa 359 ko‘rish

Git nega kerak va uni qanday o'rnatamiz?

Kompyuteringizda «loyiha_final», «loyiha_final_v2», «loyiha_final_v2_oxirgi» degan papkalar bo'lsa — bu maqola aynan siz uchun. Git shu tartibsizlikni yo'q qiladi. Bu qismda uni o'rnatamiz va birinchi tajribani birgalikda qilamiz: test-project papkasida git initdan birinchi git commitgacha bo'lgan yo'lni birgalikda bosib o'tamiz qani kettik.

git devops

Mundarija

Tasavvur qiling: loyihangizning bitta emas, bir nechta nusxasi bor:

Fayl tuzilishi
loyiha/
loyiha_yangi/
loyiha_final/
loyiha_final_v2/
loyiha_final_v2_oxirgi/
loyiha_ISHLAYDIGAN_shu/

Avvaliga hammasi tushunarli ko'rinadi, lekin bir necha kun yoki oydan keyin eng katta savol paydo bo'ladi: Qaysi biri eng oxirgi to'g'ri ishlaydigan versiya? Aynan mana shu muammoni Git hal qiladi: loyihangiz bitta papkada turadi, barcha eski holatlar esa uning tarixida saqlanadi. Shuning uchun nusxalar orasida adashib qolmaysiz.

Git aslida nima qiladi#

Git butun loyihani har safar qaytadan nusxalamaydi. Har bir commit loyiha fayllarining o‘sha paytdagi holatini saqlaydi va o‘zgarmagan fayllarni qayta ishlatadi. Shu orqali nima, qachon va kim tomonidan o‘zgartirilganini kuzatish, oldingi holatlarga qaytish va loyiha tarixini boshqarish mumkin.

Bu rasm yuqoridagi tartibsiz bo‘lib ketgan loyiha nusxalarining Git orqali yechilgan ko‘rinishi. Unda loyihadagi o‘zgarishlar, qo‘shilgan va o‘chirilgan kodlar, ularni kim va qachon qilgani hamda loyiha tarixi ko‘rsatiladi.

Git va GitHub farqi#

Yodda tuting!

Git — bu dastur kodlaridagi o'zgarishlarni kuzatib borish uchun ishlatiladigan versiya nazorat tizimi (version control system).

Git Vazifalari:

  1. O'zgarishlarni ko'rish va saqlash
  2. Tarixni ko'rish
  3. Alohida branch'larda ishlash
  4. Branch'larni merge qilish
  5. GitHub'dan kodni olish va unga yuborish

Yodda tuting!

GitHub — bu Git yordamida boshqariladigan kodlarni internetda saqlash va jamoa bilan ishlash uchun platforma.

GitHub Vazifalari:

  1. Loyiha kodni online'da saqlash va boshqalar bilan ulashish
  2. Jamoa bilan birgalikda loyihalar qurish
  3. Loyihadagi o'zgarishlarni kuzatish
  4. Pull request qilish
  5. Issue ochish
  6. Branchlar bilan ishlash
  7. Backup sifatida ishlash
  8. Opensource loyihalarda qatnashish
  9. Portfolio sifatida foydalanish

Boshida Git va GitHub doim yonma-yon tilga olingani uchun ko‘pchilik ularni chalkashtiradi. Git - GitHub’siz ham bemalol ishlaydi. GitHub - asosan Git asosida qurilgan platforma. GitHub’ga o‘xshash boshqa platformalar ham mavjud: GitLab, Bitbucket va boshqalar. Dunyo bo‘yicha ham, O‘zbekistonda ham ko‘plab kompaniyalar ushbu platformalardan foydalanadi.

Git o'rnatish#

Windows#

Link: git-scm.com/install/windows

Powershell orqali o'rnatish: Agar sizda winget tool'i hali mavjud bo'lmasa dastlab o'rnatib oling: winget/install so'ng quyidagi kodni tering.

PowerShell
winget install --id Git.Git -e --source winget

macOS#

Link: git-scm.com/install/mac

Homebrew orqali o'rnatish: Agar sizda homebrew hali bo'lmasa, uni o'rnating: homebrew/install so'ng quyidagi kodni tering.

Terminal
brew install git

Linux#

Link: git-scm.com/install/linux

Yodda tuting!

sudo — administrator huquqi bilan biror buyruqni bajar degani.

Dastur o‘rnatishda tizim sizdan kompyuter parolini so‘rashi mumkin. Parolni yozayotganingizda ekranda hech narsa chiqmaydi — bu normal holat. Shunchaki parolni yozing va Enter bosing.

Ubuntu yoki Debian ishlatsangiz:

Terminal
sudo apt update
sudo apt install git

Fedora'da buyruq boshqacha: sudo dnf install git. Boshqa distributivlar uchun yuqoridagi havolada tayyor buyruq bor.

Tekshirish#

Barcha operatsion tizimlarda Git o‘rnatilganini tekshirish deyarli bir xil. Windows OS da tekshirish uchun Git Bash dasturidan foydalaning, u Git bilan birga o'rnatilgan bo'ladi. Linux/MacOS tizimlarida istalgan terminalda tekshirishingiz mumkin.

Terminal
git --version
# git version 2.50.1 (Apple Git-155)

Sizda versiya boshqa chiqsa bu normal holat. Muhimi — git version degan javob kelsa bo'ldi, o'rnatilgan bo'ladi.

Agar command not found chiqsa, terminalni yopib qayta oching: o'rnatishdan oldin ochilgan oyna yangi dasturni ko'rmaydi. macOS'da Git'ni Homebrew'siz ishga tushirsangiz, ekranda command line developer tools o'rnatishni taklif qiluvchi oyna chiqishi mumkin. Install tugmasini bosing, o'rnatish tugagach git --version buyrug'ini qayta tering.

Diqqat!

Bu seriya uchun Git’ning 2.23 yoki undan yangi versiyasi kerak. Chunki eski versiyalarda git restore va git switch buyruqlari mavjud emas. Agar git --version natijasida 2.23 dan kichik versiya chiqsa, Git’ni yangilang.

Loyihada Git'ni ishga tushirish#

Dastlab loyiha uchun papkamizni tayyorlab olamiz. Bu uchun siz istalgan terminalni oching. Agar Windows OS da bo'lsangiz Git Bash dasturini ochishni esdan chiqarmang. Sababi boshqa Powershell yoki CMD larda ba'zi buyruqlarni topolmay yarim yo'lda qolib ketishingiz mumkin.

Ogohlantirish!

Git Bash - Git dasturini bilan birga o'rnatilgan bo'ladi xavotir olmang siz hech narsa o'tkizib yubormadingiz 😊.

Buyruqlar#

Quyidagi buyruqlarni ketma-ket tering va har bir natijani tushunishga harakat qiling.

Terminal
mkdir test-project
cd test-project
git init
echo "salom" > a.txt
git status
git add a.txt
git status
git commit -m "sinov"

Ogohlantirish!

Agar siz buyruqlar bilan ishlash bo'yicha yetarli tajribaga ega bo'lsangiz Yordam olish qismini o'tkazib yuborishingiz mumkin.

Yordam olish#

1-qadam#

Siz Windows sistemasida bo'lsangiz dastlab Bash dasturini ochib oling, menda MacOS bo'lgani uchun oddiy Terminal dasturidan foydalanaman.

Dastlab pwd buyrug'i orqali qaysi manzilda turganimizni aniqlab olamiz.

2-qadam#

mkdir orqali loyihamiz uchun papka yaratib olamiz, cd orqali shu papkaga kirishni amalga oshiramiz va pwd orqali hozirgi turgan manzilimizni tekshiramiz.

3-qadam#

git init buyrug'i loyihada Git'ni ishga tushirish uchun kerak bo'ladi. Initialized so'zi chiqqan bo'lsa, demak loyihada Git'ni to'g'ri ishga tushirdingiz. Tabriklayman 🎉 birinchi muvaffaqiyatli qadamni qo'yib oldingiz.

4-qadam#

echo yordamida a.txt faylini yaratib, unga matn yozamiz. Hozir a.txt faylga "salom" matni yozilgan uni ko'rish uchun cat a.txt qilib tekshirib ko'rsangiz bo'ladi. Bu buyruqni sinab ko'rishni o'zingizga qoldiraman.

5-qadam#

git status buyrug'i loyiha papkasining hozirgi holatini ko'rsatadi: qaysi fayllar yangi, qaysilari o'zgargan va qaysilari commit'ga tayyor. Ko‘rib turganingizdek, a.txt qizil rangda, Untracked files ro'yxatida turibdi. Bu Git faylni ko'rdi, lekin hali uni kuzatmayapti degani.

Commit qilishdan oldin faylni staging area'ga qo'shish kerak. Staging area — keyingi commit'ga kiradigan o'zgarishlar yig'iladigan tayyorlov joyi. Nega bu oraliq qadam kerakligini 3-qismda batafsil ko'ramiz. Hozircha shuni bilish yetarli: faylni staging'ga o‘tkazish uchun git add <file> buyrug'i bajariladi.

6-qadam#

git add <file> - buyrug'i bilan a.txt faylni staging area'ga o'tkazamiz. Ko‘rib turganingizdek, git status buyrug‘i orqali a.txt fayli staging area’ga qo‘shilganini ko‘rishingiz mumkin: u endi yashil rangda, Changes to be committed ostida turibdi.

Ogohlantirish!

Agar staging area'dagi faylni unstage qilmoqchi, ya'ni oldingi holatiga qaytarmoqchi bo'lsangiz, git rm --cached a.txt qilishingiz mumkin. Fayl o'chmaydi, faqat staging'dan chiqadi. Buni sinab ko'rsangiz, keyingi qadamdan oldin git add a.txt ni qayta bajaring. Aks holda commit nothing added to commit deb to'xtaydi.

7-qadam#

git commit -m "komentariya" buyrug‘i yordamida staging area’dagi fayllardagi o‘zgarishlarni bitta commit sifatida tarixga saqlashimiz va unga umumiy izoh yozishimiz mumkin. Ko'rib turganingizdek, "sinov" commit'i endi tarixga yozildi. Keyinchalik commit'larni git push bilan GitHub'ga yuborishni ham o'rganamiz, lekin hozircha bunga shoshilmaymiz. Undan oldin git config — sozlash haqida gaplashib olishimiz kerak.

Ogohlantirish!

Ba'zi tizimlarda Git yangi o'rnatilganda git commit -m "sinov" buyrug‘i boshqacha xabar berishi yoki umuman bajarilmay qolishi mumkin. Masalan, Git sizdan git config --global user... ko‘rinishidagi sozlamalarni kiritishni so‘raydi. Commit yaratilmagan bo'lsa ham xavotir olmang, hech narsa buzilmadi. Buni qanday to‘g‘ri sozlashni Keyingi qismda birgalikda o'rganamiz.

Shu qismning buyruqlari#

Agar quyidagi buyruqlar siz uchun yangi bo‘lsa, ularni konspekt qilib yozib olishni va amalda sinab ko‘rishni unutmang.

Buyruq Nima qiladi
pwd Hozir siz turgan papka manzilini ko'rsatadi (Linux, MacOS va Git Bash'da)
mkdir test-project Shu nomli yangi papka yaratadi
cd test-project O'sha papkaning ichiga kiradi
git init Papkani Git kuzatadigan loyihaga aylantiradi
echo "salom" > a.txt a.txt fayl yaratib, ichiga salom deb yozadi
git status Loyihadagi o‘zgarishlarni va qaysi fayllar Staging Area’ga qo‘shilgan yoki hali qo‘shilmaganini ko‘rsatadi.
git add a.txt Faylni Staging Area’ga qo‘shib, commit qilishga tayyorlaydi.
git commit -m "sinov" Staging Area’dagi tayyor o‘zgarishlarni Git tarixiga saqlaydi. -m esa commit izohini yozish uchun ishlatiladi.

Keyingi qismda#

Oxirgi buyruq — git commit -m "sinov" — bajarilganda terminalda sizga notanish yoki g‘alati matnlar chiqishi mumkin. Masalan, Git sizning kimligingizni so‘rashi yoki mavjud ma’lumotlar asosida uni o‘zi taxmin qilib qo‘yishi mumkin. Bu tasodif emas, normal holat, xavotir olmang.

Keyingi qismda aynan shu holatni tahlil qilamiz: Git’ga ismimiz va email manzilimizni to‘g‘ri ko‘rsatamiz, GitHub bilan bog‘langan emailni sozlaymiz va noto‘g‘ri ma’lumot bilan yaratilgan commitni qanday tuzatishni o‘rganamiz.

test-project papkasini o'chirmang — u keyingi qismda kerak bo'ladi.

10 daqiqa 359 marta o‘qildi