Git Fundamentals
Git nima?
Git - bu version control system (versiyani boshqarish tizimi). Bu oddiy qilib aytganda, sizning kodingizning har bir o'zgarishini saqlab turuvchi "vaqt mashinasi".
Nima uchun Git kerak?
Muammolar Git'siz:
- Faylingizni buzib qo'ysangiz, eski holatiga qaytara olmaysiz
- Bir necha kishi bir loyihada ishlasa, kodlar chalkashib ketadi
- Kim qachon nima o'zgartirganini bilmaysiz
- Backup qilish qiyin
Git bilan hal:
Sizning loyiha
├── V1.0 - Birinchi versiya
├── V1.1 - Bug fix qo'shildi
├── V1.2 - Yangi feature
└── V2.0 - Katta yangilanish
Asosiy Tushunchalar
1. Repository (Repo)
Bu sizning loyihangizning "uyi". Barcha fayllar va ularning tarixi shu yerda saqlanadi.
# Yangi repo yaratish
git init
# Mavjud repo ni yuklab olish
git clone https://github.com/user/project.git
2. Working Directory
Bu siz hozir ishlayotgan papka. Bu yerda siz fayllarni o'zgartirasiz.
3. Staging Area
Bu "sahnalashtirish maydoni". Bu yerga siz commit qilmoqchi bo'lgan o'zgarishlarni qo'yasiz.
4. Commit
Bu sizning o'zgarishlaringizning "surati". Har bir commit - bu bir nuqta vaqtdagi loyihangizning holati.
Asosiy Buyruqlar
Holat tekshirish
# Hozirgi holatni ko'rish
git status
# O'zgarishlar tarixini ko'rish
git log
# Qisqa tarix
git log --oneline
O'zgarishlarni qo'shish
# Barcha o'zgarishlarni staging area ga qo'shish
git add .
# Bitta faylni qo'shish
git add filename.txt
# Commit qilish
git commit -m "Nima qilganimni tavsifi"
O'zgarishlarni ko'rish
# Nimalar o'zgarganini ko'rish
git diff
# Staging area dagi o'zgarishlar
git diff --staged
Git Workflow (Ish jarayoni)
1. Fayllarni o'zgartiring
↓
2. git add (staging area ga qo'shing)
↓
3. git commit (commit qiling)
↓
4. git push (serverga yuklang)
Foydali Maslahatlar
1. Yaxshi commit message yozing
# Yaxshi ❌
git commit -m "fix"
# Yaxshi ✅
git commit -m "Login sahifasidagi parol validatsiya xatosini tuzatdim"
2. Tez-tez commit qiling
- Kichik o'zgarishlarni tez-tez commit qiling
- Katta o'zgarishlarni kichik qismlarga bo'ling
3. Nima ignore qilish kerak
.gitignore faylida yozing:
# Dependencies
node_modules/
*.log
# Build files
dist/
build/
# OS files
.DS_Store
Thumbs.db
Xatolarni tuzatish
Oxirgi commit ni o'zgartirish
git commit --amend -m "Yangi message"
Faylni unstage qilish
git reset HEAD filename.txt
O'zgarishlarni bekor qilish
# Fayldagi o'zgarishlarni bekor qilish
git checkout -- filename.txt
# Barcha o'zgarishlar
git reset --hard HEAD
Xulosa
Git - bu dasturchi uchun eng muhim asbob. Bu:
- Kodingizni himoya qiladi
- Jamoada ishlashni osonlashtiradi
- Xatolardan qaytishga yordam beradi
- Professional rivojlanish uchun zarur
Eslab qoling: Git o'rganish - bu velosipedga o'rganish kabi. Boshida qiyin bo'ladi, lekin keyin tabiiy bo'lib ketadi!