Git kursi

Version control tizimi. Kod tarixini boshqarish, branch, merge va hamkorlik.

Boshlang'ich · 55 ta dars · ~3 hafta

Mavzular: Git asoslari, Commit, Branch, Merge, Rebase, Remote, GitHub, Pull Request, Conflict Resolution, Git Flow

Kirish va O'rnatish

  1. Git nima? Version Control nima uchun kerak, Git tarixi
  2. Git o'rnatish — Windows, Mac, Linux. Git Bash, Terminal sozlash
  3. Git sozlash — git config, username, email, default editor
  4. GitHub nima? Git va GitHub farqi. Account, SSH key sozlash

Git Asoslari

  1. Repository — git init, loyiha tuzilishi, .git papkasi ichida nima bor
  2. Working Directory, Staging Area, Repository — uchala zona va farqi
  3. git add — fayllarni staging ga qo'shish, . va fayl nomi farqi
  4. git commit — commit nima, yaxshi commit xabari qanday yoziladi
  5. git status va git log — o'zgarishlarni va tarixni ko'rish
  6. git diff — working directory, staging, commit lar orasida solishtirish
  7. .gitignore — qaysi fayllarni kuzatmaslik, shablonlar, global gitignore

Branch va Merge

  1. Branch nima va nima uchun kerak — parallel ishlash tushunchasi
  2. git branch — branch yaratish, ko'rish, o'chirish
  3. git checkout va git switch — branch lar orasida o'tish
  4. git merge — Fast-forward va 3-way merge, farqlari
  5. Merge Conflict — nima uchun chiqadi, qanday hal qilinadi
  6. git rebase — nima, merge dan farqi, qachon ishlatiladi
  7. git stash — o'zgarishlarni vaqtincha saqlash, list, pop, drop

GitHub bilan ishlash

  1. git remote — remote nima, add, remove, -v
  2. git clone — remote loyihani yuklab olish, HTTPS va SSH farqi
  3. git push — o'zgarishlarni GitHub ga yuborish, upstream sozlash
  4. git pull va git fetch — farqi, qachon qaysinisini ishlatish kerak
  5. Pull Request — nima, qanday ochiladi, code review jarayoni
  6. Fork — nima, qachon kerak, fork workflow
  7. Issue — loyihada muammo bildirish, label, assignee, milestone

Git Tarixini Boshqarish

  1. git commit --amend — oxirgi commitni o'zgartirish
  2. git reset — soft, mixed, hard — farqlari va qachon ishlatiladi
  3. git revert — commitni bekor qilish, reset dan farqi
  4. git cherry-pick — boshqa branch dan bitta commit olish
  5. git bisect — xatoni qaysi commitda paydo bo'lganini topish
  6. git reflog — yo'qolgan commitlarni tiklash

Professional Git Workflow

  1. Gitflow — main, develop, feature, release, hotfix branch lari
  2. GitHub Flow — soddaroq workflow, qachon mos keladi
  3. Conventional Commits — commit xabarlarini standartlashtirish
  4. Semantic Versioning — major, minor, patch versiyalash
  5. git tag — versiyalarni belgilash, lightweight va annotated tag
  6. Monorepo da Git — katta loyihalarda ishlash

GitHub Imkoniyatlari

  1. GitHub Actions — CI/CD asoslari, workflow fayli tuzilishi
  2. GitHub Actions — avtomatik test va deploy
  3. GitHub Pages — statik saytni deploy qilish
  4. GitHub Releases — versiya chiqarish, changelog
  5. GitHub Projects — loyiha boshqarish, Kanban board
  6. GitHub Packages — paket chiqarish va saqlash
  7. GitHub Secrets — maxfiy ma'lumotlarni saqlash

Ilg'or Git

  1. Submodule — loyiha ichida boshqa loyiha
  2. git worktree — bir vaqtda bir nechta branch bilan ishlash
  3. git hook — commit, push oldidan avtomatik ishlar bajarish
  4. git archive — loyihani arxivlash
  5. Bare Repository — server uchun repository

Amaliy va Professional mavzular

  1. SSH key — yaratish, GitHub ga ulash, agent sozlash
  2. GPG key — commitlarni imzolash, verified badge
  3. .gitattributes — fayl turlari, line ending, diff sozlash
  4. Git LFS — katta fayllar bilan ishlash
  5. GitHub CLI — gh tool bilan terminaldan GitHub boshqarish
  6. Git GUI — GitKraken, SourceTree, VS Code Git integration