Git asoslari
Git — bu versiyalarni boshqarish tizimi. U dasturchilarga koddagi o‘zgarishlarni kuzatishga, bir loyihada birgalikda ishlashga va fayllarning turli versiyalarini boshqarishga yordam beradi.
- Versiyani kuzatish – Loyihada qilgan har bir o‘zgarishni xabar bilan saqlab qo‘yish mumkin, keyin xohlagan vaqtda eski versiyaga qaytish mumkin.
- Hamkorlik – Bir nechta dasturchi bir xil kod ustida ishlashi mumkin, va ular bir-birining ishini buzmaydi.
- Shoxlanish (branching) – Kodning nusxasini olib, yangi funksiyalarni sinash mumkin, keyin esa asosiy loyihaga qo‘shish mumkin.
- Tarqatilgan tizim – Har bir dasturchining kompyuterida loyiha tarixining to‘liq nusxasi bo‘ladi, faqat markaziy serverda emas.
- GitHub/GitLab/Bitbucket bilan mashhur – Ushbu platformalar Git’ni ishlatib loyihalarni saqlash va ulashishda qo‘llanadi.
👉 Qisqacha aytganda: Git — bu kod uchun vaqt mashinasi bo‘lib, jamoada birga ishlashni osonlashtiradi.
🟢 Git
- Git — bu versiyalarni boshqarish tizimi (VCS).
- U o'zimizning kompyuterinmizda ishlaydi.
- Biz kodni kuzatish, saqlash, eski versiyalarga qaytish, branch ochish va merge qilishni Git orqali qilamiz.
- Masalan:
git init
,git add
,git commit
,git push
kabi buyruqlar orqali ishlatiladi.
🔵 GitHub
- GitHub — bu Git loyihalari uchun hosting platformasi.
- GitHub bulutda (onlayn) ishlaydi.
- Siz o‘z Git loyihalaringizni GitHub’ga joylashtirib, ularni boshqalar bilan ulashishingiz mumkin.
- U orqali hamkorlik (collaboration) qilish, pull request ochish, kodni ko‘rib chiqish (code review), muammolarni kuzatish (issues) mumkin.
- Git — bu vosita (instrument).
- GitHub — bu Git loyihalari uchun saqlash joyi va hamkorlik platformasi.
Git’ning eng ko‘p ishlatiladigan buyruqlari va ularning qisqacha izohi:
🔹 Boshlang‘ich buyruqlar
git init
– yangi Git repositoriyasini yaratish.git clone <url>
– mavjud loyihani (masalan, GitHub’dan) kompyuterga ko‘chirib olish.
🔹 O‘zgarishlarni kuzatish
git status
– loyihadagi o‘zgarishlarni ko‘rish.git add <fayl_nomi>
– faylni commit qilish uchun tayyorlash.git add .
– barcha fayllarni tayyorlash.git commit -m "xabar"
– o‘zgarishlarni xotiraga saqlash.
🔹 Tarmoqlar (branches)
git branch
– barcha branchlarni ko‘rish.git branch <nom>
– yangi branch yaratish.git checkout <nom>
– boshqa branchga o‘tish.git checkout -b <nom>
– yangi branch yaratib, unga o‘tish.git merge <nom>
– boshqa branchdagi o‘zgarishlarni birlashtirish.
🔹 Uzoqdagi (remote) repository bilan ishlash
git remote -v
– bog‘langan repositorylarni ko‘rish.git push origin <branch>
– kodni GitHub’ga yuborish.git pull origin <branch>
– GitHub’dan so‘nggi o‘zgarishlarni olish.git fetch
– faqat yangilanishlarni yuklab olish (lekin merge qilmaydi).
🔹 Tarixni kuzatish
git log
– commitlar tarixini ko‘rish.git diff
– koddagi farqlarni ko‘rish.git show <commit_id>
– aniq commit haqida ma’lumot.
git add
→ o‘zgarishni tayyorlash.git commit
→ o‘zgarishni saqlash.git push
→ GitHub’ga yuborish.git pull
→ GitHub’dan olish.
Yana command'lar
Git ni sozlash
git config --global user.name "Your Name"
- commitlarni username ni ko'rsatishgit config --global user.email "you@example.com"
- git ga emailni qo'shib qo'yishgit config --list
- sozlamarni ko'rish
GitHub profilini sozlash
Dastlab username bilan bir xil bo'lgan repository yaratamiz, Readme.md faylini qo'shgan holda
GIT da ishni boshlash
1. mkdir
qilib papka yaratamiz
2. cd papka nomi
bilan papkaga kiramiz
3. git init
qilib ishga tushiramiz
4. pwd
qaysi papkada turganimizni ko'rsatadi
Staging bosqichi
2. git add --all
yoki git add -A
qilib fayllarni qo'shamiz
3. git rm --chached fileName
bilan faylni unstage qilish mumkin
Git Commit
git commit -m "message"
- Xabar bilan bosqichma-bosqich o'zgarishlarni amalga oshiringgit commit -a -m "message"
- Barcha kuzatilgan o'zgarishlarni amalga oshirish (stage qilib o'tirmasdan)git log
- Commit qilish tarixini ko'ring
Oxirgi o'zgarishni bekor qilish
.gitignore
🔹 What it does:
git rm
→ fayllarni Git'ning staging/index qismidan olib tashlaydi-r
→ papkalarni rekursiv tarzda olib tashlaydi--cached
→ file va papkalarni Git kuzatuvidan olib tashlaydi lekin kompyuterda lokal holatda qoladi
Masalan quyidagi papkani qanday qilib Git kuzatuvidan olib tashlashni ko'rib chiqamiz
Perfect 👍 Let’s stop Git from tracking your cachfiles
folder.
Here are the exact commands you need to run step by step:
1) Add cachfiles
to .gitignore
echo "cachfiles/" >> .gitignore
2) Remove it from Git tracking (but keep it locally)
git rm -r --cached cachfiles
3) Stage changes
git add .gitignore
4) Commit the changes
git commit -m "Stop tracking cachfiles folder"
5) Push to remote (GitHub/GitLab, etc.)
git push
✅ After this, the cachfiles
folder will remain on your computer, but Git will ignore it and stop tracking it in commits.
https://www.atlassian.com/git/tutorials/saving-changes/gitignore
https://www.git-tower.com/learn/git/faq/ignore-tracked-files-in-git
Git remote
git remote
- buyrug'i bizga boshqa repolardagi o'zgarishlarni ko'rish, qo'shish, o'chirish kabi imkoniyatlarni beradi.
git remote add <name> <url>
- buyrug'i esa masofadagi repoga bog'lanish imkonini beradi
git push
- mahalliy repodagi commitlar, fayllar va reflarni masofaviy repoga yuborishuchun ishlatiladigit fetch
- masofaviy repodagi commitlar, fayllar va reflarni mahalliy repoga yuklab olish uchun ishlatiladigit pull
- masofaviy repo tarkibidagi barcha commit va fayllarni yuklab olib darhol mahalliy reponi yangilaydi. Bu buyruqgit fetch
vagit merge
buyruqlari birlashmasidir