GitLab asosan Git buyruqlari orqali boshqariladi. Quyida eng ko'p ishlatiladigan comandalar, ularning vazifasi va qo'llanish holatlari keltirilgan.
git clone https://gitlab.com/username/project-name.gitNima qiladi: GitLab'dagi loyihani (repozitoriyani) o'z kompyuteringizga yuklab oladi.
Qachon ishlatiladi:
- Yangi loyihada ishlashni boshlaganda
- Jamoaning repozitoriyasiga qo'shilganda
- Biror open-source loyihani o'rganmoqchi bo'lganda
git config --global user.name "Ismingiz"
git config --global user.email "email@example.com"Nima qiladi: Git commitlaringizga ism va email biriktiradi.
Qachon ishlatiladi:
- Git'ni birinchi marta o'rnatganda
- Yangi kompyuterda ishlashni boshlaganda
# Mavjud branchlarni ko'rish
git branch
# Yangi branch yaratish
git branch feature/yangi-funksiya
# Branchga o'tish
git checkout feature/yangi-funksiya
# Yaratish va o'tish (qisqacha)
git checkout -b feature/yangi-funksiya
# Zamonaviy usul (Git 2.23+)
git switch -c feature/yangi-funksiyaNima qiladi: Loyihaning alohida "nusxasida" ishlash imkonini beradi.
Qachon ishlatiladi:
- Yangi feature (funksiya) qo'shayotganda
- Bug fix qilayotganda
- Eksperiment o'tkazayotganda
main/masterbranchni buzmasdan ishlash kerak bo'lganda
# O'zgargan fayllarni ko'rish
git status
# Barcha fayllarni stage qilish
git add .
# Bitta faylni stage qilish
git add fayl_nomi.py
# Commit qilish
git commit -m "feat: login sahifasi qo'shildi"
# Stage + commit (tracked fayllar uchun)
git commit -am "fix: xato tuzatildi"Nima qiladi: O'zgarishlarni Git tarixiga yozib qo'yadi.
Qachon ishlatiladi:
- Kod yozgandan so'ng har bir mantiqiy qism tugaganda
- Commit xabari aniq va qisqa bo'lishi kerak
# Branchni GitLab'ga yuborish
git push origin feature/yangi-funksiya
# Birinchi marta push (upstream o'rnatish)
git push -u origin feature/yangi-funksiya
# Main branchga push
git push origin mainNima qiladi: Mahalliy commitlarni GitLab serveriga yuboradi.
Qachon ishlatiladi:
- Kod yozib bo'lingandan keyin
- Merge Request ochishdan oldin
- Jamoaga o'zgarishlarni ko'rsatish kerak bo'lganda
# Fetch (faqat ko'rish, qo'llamasdan)
git fetch origin
# Pull (olish va birlashtirish)
git pull origin main
# Rebase bilan pull
git pull --rebase origin mainNima qiladi: GitLab'dagi eng so'nggi o'zgarishlarni mahalliy kompyuteringizga oladi.
Qachon ishlatiladi:
- Ish boshlashdan oldin (har kuni)
- Jamoa a'zolari yangi kod qo'shganda
- Merge conflict oldini olish uchun
# Main branchga o'tish
git checkout main
# Feature branchni merge qilish
git merge feature/yangi-funksiya
# Fast-forward bo'lmagan merge
git merge --no-ff feature/yangi-funksiyaNima qiladi: Bir branchning o'zgarishlarini boshqa branchga qo'shadi.
Qachon ishlatiladi:
- Feature tayyor bo'lganda
- Bug fix tugaganda
- GitLab'da Merge Request (MR) approve bo'lgandan keyin
git cherry-pick <commit-hash>Nima qiladi: Faqat bitta commitni boshqa branchga ko'chiradi.
Qachon ishlatiladi:
- Faqat bitta o'zgarish kerak bo'lganda
- Xato commitni boshqa branchga olish kerak bo'lganda
# Oxirgi commitni bekor qilish (o'zgarishlar saqlanadi)
git reset --soft HEAD~1
# Oxirgi commitni to'liq bekor qilish
git reset --hard HEAD~1
# Faylni oxirgi commit holatiga qaytarish
git restore fayl_nomi.py
# Commitni "qaytaruvchi" yangi commit yaratish
git revert <commit-hash>Nima qiladi: Noto'g'ri commitlar yoki o'zgarishlarni ortga qaytaradi.
Qachon ishlatiladi:
- Xato commit qilinganda
- O'zgarishni bekor qilish kerak bo'lganda
revert— umumiy branchlarda xavfsizroq
# Commit tarixini ko'rish
git log
# Qisqa ko'rinish
git log --oneline
# Grafik ko'rinish
git log --oneline --graph --all
# Biror faylning tarixini ko'rish
git log --follow fayl_nomi.pyNima qiladi: Commit tarixi va o'zgarishlarni ko'rsatadi.
Qachon ishlatiladi:
- Kim, qachon, nima o'zgartirgani kerak bo'lganda
- Bug qaysi commitda kiritilganini topish uchun
# Tag yaratish
git tag v1.0.0
# Annotated tag
git tag -a v1.0.0 -m "Birinchi versiya"
# Tagni GitLab'ga yuborish
git push origin v1.0.0
# Barcha taglarni yuborish
git push origin --tagsNima qiladi: Loyihaning ma'lum bir versiyasini belgilaydi.
Qachon ishlatiladi:
- Yangi versiya chiqarilganda (release)
- GitLab'da Release yaratishda
- Versiyalarni kuzatish uchun
# O'zgarishlarni vaqtinchalik saqlash
git stash
# Stashni qaytarish
git stash pop
# Stashlar ro'yxatini ko'rish
git stash list
# Ma'lum stashni qo'llash
git stash apply stash@{0}Nima qiladi: Commitlanmagan o'zgarishlarni vaqtinchalik "javonga" yashiradi.
Qachon ishlatiladi:
- Boshqa branchga o'tish kerak, lekin commit qilish erta bo'lganda
- Shoshilinch bug fix qilish kerak bo'lganda
# Stage qilinmagan o'zgarishlarni ko'rish
git diff
# Stage qilingan o'zgarishlarni ko'rish
git diff --staged
# Ikki branch orasidagi farqni ko'rish
git diff main..feature/yangi-funksiyaNima qiladi: Qaysi qatorlar o'zgarganini ko'rsatadi.
Qachon ishlatiladi:
- Commit qilishdan oldin o'zgarishlarni tekshirishda
- Branchlar orasidagi farqni tushunishda
# Remote manzillarni ko'rish
git remote -v
# Yangi remote qo'shish
git remote add origin https://gitlab.com/username/project.git
# Remote manzilni o'zgartirish
git remote set-url origin https://gitlab.com/yangi/manzil.gitNima qiladi: GitLab server manzillarini boshqaradi.
Qachon ishlatiladi:
- Repozitoriya URL o'zgarganda
- Bir nechta remote bilan ishlashda
# SSH kalit yaratish
ssh-keygen -t ed25519 -C "email@example.com"
# Kalitni ko'rish (GitLab'ga qo'shish uchun)
cat ~/.ssh/id_ed25519.pub
# Ulanishni tekshirish
ssh -T git@gitlab.comNima qiladi: Parolsiz GitLab'ga ulanish imkonini beradi.
Qachon ishlatiladi:
- GitLab'ni birinchi sozlaganda
- HTTPS o'rniga SSH orqali ishlashda
# GitLab Runner holati
gitlab-runner status
# Pipeline triggerini ko'rish
git push -o ci.variable="KEY=VALUE"
# Skip CI (pipeline ishlamaydi)
git commit -m "docs: readme yangilandi [skip ci]"# 1. Oxirgi o'zgarishlarni oling
git pull origin main
# 2. Yangi branch oching
git checkout -b feature/mening-vazifam
# 3. Kod yozing va saqlang
git add .
git commit -m "feat: yangi funksiya qo'shildi"
# 4. GitLab'ga yuboring
git push origin feature/mening-vazifam
# 5. GitLab'da Merge Request oching (UI orqali)| Prefix | Maqsad |
|---|---|
feat: |
Yangi funksiya |
fix: |
Xatoni tuzatish |
docs: |
Hujjat o'zgartirish |
style: |
Formatlash, vergul va h.k. |
refactor: |
Kod qayta yozish |
test: |
Test qo'shish |
chore: |
Boshqa vazifalar |
Tayyorlagan: GitLab Qo'llanmasi | Barcha comandalar Git 2.x+ versiyasiga mos keladi.