Asosiy kontentga o‘tish
Innovialabs

Gitning asosiy buyruqlari: kundalik ish uchun shpargalka

Amaliyot4 daq

Qisqacha

Kundalik ish uchun yigirmatacha Git buyrug‘i yetarli: clone, status, add, commit, switch, merge, pull, push, log va diff, shuningdek to‘g‘ri sozlangan .gitignore fayli.

Qisqa javob

Git bilan ishning katta qismi bitta sikldan iborat: so‘nggi o‘zgarishlarni olish → branch yaratish → fayllarni tahrirlash → add → commit → push. Quyida buyruqlar vazifalar bo‘yicha guruhlangan, kerakligini tez topishingiz uchun.

Ishni boshlash

BuyruqNima qiladi
git initjoriy papkada yangi repozitoriy yaratadi
git clone <url>mavjud repozitoriyni butun tarixi bilan yuklab oladi
git config --global user.name "Ism"commit muallifi ismini belgilaydi
git config --global user.email "mail"muallif pochtasini belgilaydi
git clone https://github.com/user/project.git
cd project

O‘zgarishlarni saqlash

BuyruqNima qiladi
git statuso‘zgargan, tayyorlangan va yangi fayllarni ko‘rsatadi
git add <fayl>faylni staging areaga qo‘shadi
git add -po‘zgarishlarning alohida qismlarini tanlash imkonini beradi
git commit -m "xabar"tayyorlangan o‘zgarishlarni qayd etadi
git commit --amendoxirgi commitni tuzatadi (faqat hali push qilinmagan bo‘lsa)
git restore <fayl>fayldagi saqlanmagan o‘zgarishlarni bekor qiladi
git restore --staged <fayl>faylni staging areadan chiqaradi, tahrirlar saqlanib qoladi
git status
git add src/cart.js
git commit -m "Fix discount calculation in cart"

Maslahat: bitta faylda turli o‘zgarishlar aralashgan bo‘lsa, git add -p tartibli commitlar qilishning eng yaxshi usuli.

Branchlar bilan ishlash

BuyruqNima qiladi
git branchlokal branchlar ro‘yxati
git switch -c <branch>branch yaratadi va unga o‘tadi
git switch <branch>mavjud branchga o‘tadi
git merge <branch>ko‘rsatilgan branchni joriysiga birlashtiradi
git branch -d <branch>allaqachon birlashtirilgan branchni o‘chiradi
git stash / git stash popcommit qilinmagan tahrirlarni vaqtincha yashiradi va qaytaradi
git switch -c feature/login-form
# ...ish...
git switch main
git merge feature/login-form

switch va restore — ko‘p vazifali git checkout buyrug‘ining yangiroq va tushunarliroq o‘rinbosarlari, checkout esa hamon ishlaydi.

Server bilan sinxronlash

BuyruqNima qiladi
git remote -vulangan masofaviy repozitoriylarni ko‘rsatadi
git fetchbranchlaringizga tegmasdan o‘zgarishlarni yuklab oladi
git pullo‘zgarishlarni yuklab, joriy branchga birlashtiradi
git pushcommitlaringizni serverga yuboradi
git push -u origin <branch>yangi branchni birinchi marta yuborib, masofaviysiga bog‘laydi
git pull
git push -u origin feature/login-form

Serverdan nima kelishiga ishonchingiz komil bo‘lmasa, avval git fetch qiling va farqni ko‘rib chiqing.

Tarix va o‘zgarishlarni ko‘rish

BuyruqNima qiladi
git log --oneline --graphbranchlar bilan ixcham tarix
git diffhali staging areaga qo‘shilmagan o‘zgarishlar
git diff --stagedcommitga kiradigan o‘zgarishlar
git show <hesh>aniq bir commit tarkibi
git blame <fayl>har bir qatorni kim va qaysi commitda o‘zgartirgani
git log --oneline --graph --all
git diff --staged

.gitignore asoslari

Loyiha ildizidagi .gitignore fayli Git kuzatmasligi kerak bo‘lgan narsalarni sanab o‘tadi: bog‘liqliklar, build natijalari, loglar va maxfiy ma’lumotlar.

# bog‘liqliklar va build
node_modules/
dist/

# muhit o‘zgaruvchilari va maxfiy ma’lumotlar
.env
.env.local

# tizim va muharrir fayllari
.DS_Store
.idea/
*.log

Muhim jihatlar:

  • .gitignore allaqachon kuzatilayotgan fayllarga ta’sir qilmaydi. Faylni kuzatishni to‘xtatish uchun git rm --cached <fayl> bajaring va commit qiling.
  • Agar maxfiy kalit tarixga tushib qolgan bo‘lsa, .gitignore yetarli emas: kalitni bekor qilib, almashtirish kerak.
  • Turli tillar uchun tayyor shablonlar rasmiy github/gitignore repozitoriysida bor.

Keng tarqalgan xatolar

  • git status siz git add .. Ortiqcha narsani commit qilib yuborish oson — avval nima o‘zgarganini ko‘ring.
  • Push qilingandan keyin --amend. Bu boshqalar allaqachon olgan tarixni qayta yozadi.
  • Uzoq vaqt pull siz ishlash. Branch qancha uzoq alohida yashasa, birlashtirishda shuncha ko‘p konflikt chiqadi.

Ko‘p beriladigan savollar

git fetch faqat serverdan o‘zgarishlarni yuklab, masofaviy branchlarni yangilaydi, fayllaringiz o‘zgarmaydi. git pull esa fetch qilib, darhol o‘zgarishlarni joriy branchga birlashtiradi.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.