Git GUI — GitKraken, SourceTree, VS Code Git integration
Muammodan boshlaylik
Siz butun kurs davomida terminal bilan ishladingiz. Endi savol: "Grafik vositalar yomonmi? Haqiqiy dasturchilar faqat terminal ishlatadimi?"
Yo'q. Tajribali dasturchilar ham grafik vositalardan foydalanadi — ba'zi vazifalar uchun ular terminaldan ancha qulay: murakkab tarixni ko'rish, katta diff ni o'qish, conflict hal qilish, git add -p ni sichqoncha bilan qilish. Muhimi — vosita nima qilayotganini tushunish. Siz endi tushunasiz.
Bu dars — eng yaxshi grafik vositalar va ularni qachon ishlatish.
VS Code — o'rnatilgan Git
Eng ko'p ishlatiladigan va qo'shimcha o'rnatish talab qilmaydigan vosita.
Source Control paneli
Ctrl+Shift+G (macOS da Cmd+Shift+G):
SOURCE CONTROL
Xabar (Ctrl+Enter — commit)
[ ✓ Commit ▾ ]
▼ Staged Changes (2)
M login.js
A savat.js
▼ Changes (1)
M README.md [+] [↶]
| Harakat | Git buyrug'i |
|---|---|
| Fayl yonidagi + | git add fayl |
| Fayl yonidagi − (staged da) | git restore --staged fayl |
| ↶ (Discard) | git restore fayl ⚠️ |
| Xabar + Commit | git commit -m |
| Sync (⟳ pastki panelda) | git pull + git push |
| Pastki chap burchakdagi branch nomi | git switch / git switch -c |
Diff va qisman staging
Faylni bosing — yonma-yon diff ochiladi. Kerakli qatorlarni belgilab → o'ng tugma → Stage Selected Ranges — git add -p (7-dars) ning grafik shakli, va ko'pincha qulayroq.
Conflict hal qilish
16-darsda ko'rgan Accept Current / Incoming / Both tugmalari va uch panelli Merge Editor — conflict lar uchun VS Code ayniqsa kuchli.
Kengaytmalar
- GitLens — har bir qator yonida blame (9-dars), commit tarixi, fayl tarixi, branch solishtirish, interaktiv rebase muharriri. Eng mashhur Git kengaytmasi
- Git Graph — branch lar grafigi (
git log --graphning chiroyli shakli) - GitHub Pull Requests — PR larni VS Code ichida ko'rish, review qilish, izoh qoldirish
GitHub Desktop
desktop.github.com — GitHub ning bepul rasmiy vositasi.
- Juda sodda — boshlovchilar va dasturchi bo'lmaganlar (dizaynerlar, yozuvchilar) uchun ideal
- GitHub bilan chuqur integratsiya: clone, PR yaratish, fork
- Asosiy amallar: commit, branch, push/pull, merge, cherry-pick, stash
Kamchiligi: murakkab amallar (interaktiv rebase, reflog) — cheklangan. Terminal o'rganishdan oldingi yoki jamoaning texnik bo'lmagan a'zolari uchun yaxshi.
GitKraken
gitkraken.com — chiroyli va kuchli mustaqil dastur.
- Ajoyib tarix grafigi — murakkab branch va merge larni tushunish uchun eng yaxshi vositalardan biri
- Drag & drop: branch ni boshqasiga sudrab — merge yoki rebase
- Interaktiv rebase — vizual
- O'rnatilgan conflict muharriri
- GitHub, GitLab, Bitbucket, Azure integratsiyasi
Narx: ommaviy repozitoriylar uchun bepul; yopiqlar uchun — pullik.
SourceTree
sourcetreeapp.com — Atlassian ning bepul vositasi (Windows, macOS).
- To'liq funksional: barcha Git amallari, Git Flow (32-dars) qo'llab-quvvatlash o'rnatilgan
- Bitbucket va Jira bilan yaxshi integratsiya
- Bepul (Atlassian hisobi kerak)
Interfeysi biroz eskirgan va katta repozitoriylarda sekinroq bo'lishi mumkin.
Boshqalar
| Vosita | Xususiyati |
|---|---|
| Fork | Tez, chiroyli, Windows va macOS uchun; bepul sinov davri |
| Sublime Merge | Juda tez, Sublime Text mualliflaridan |
| lazygit | Terminal ichidagi grafik interfeys (TUI) — klaviatura bilan, juda tez; terminal sevuvchilar uchun ajoyib |
| tig | Terminalda tarixni ko'rish |
| JetBrains IDE lar (WebStorm, PhpStorm, IntelliJ) | O'rnatilgan juda kuchli Git: tarix, conflict, shelve |
| gitk / git gui | Git bilan birga keladi; oddiy, eski ko'rinishli |
gitk --all # branch lar grafigi
lazygit # o'rnatilgandan keyin
Terminal yoki GUI — qachon nima
| Vazifa | Qulayroq |
|---|---|
Kundalik add / commit / push |
Har ikkisi — odatga qarab |
Faylning bir qismini staging ga (add -p) |
GUI (VS Code) |
| Katta diff ni o'qish | GUI (yonma-yon) yoki delta |
| Murakkab tarixni tushunish | GUI (GitKraken, Git Graph) |
| Conflict hal qilish | GUI (VS Code Merge Editor) |
| Interaktiv rebase | Har ikkisi; GitLens/GitKraken — vizual |
reflog, bisect, filter-repo, worktree |
Terminal |
| Skriptlar, CI, serverlar | Terminal — yagona variant |
| Muammo bo'lganda tushunish | Terminal — git status aniq aytadi |
[!WARNING] GUI dagi tugmalar ortida — kursdagi buyruqlar. "Discard changes" —
git restore(qaytarib bo'lmaydi), "Force push" —--force(ko'pincha--force-with-leaseemas!), "Reset to this commit (hard)" —reset --hard. Tugmani bosishdan oldin u qaysi buyruqqa mos kelishini o'ylab ko'ring — endi siz buni bilasiz.
Kurs yakuni
Siz Git kursini tugatdingiz! Endi siz:
- Git ning ichki tuzilishini tushunasiz: commit, tree, blob, branch — ko'rsatkich, HEAD
- Uch zona bilan ongli ishlaysiz: working directory, staging, repository
- Branch, merge, rebase va conflict larni xotirjam boshqarasiz
- GitHub da jamoa bilan ishlaysiz: PR, review, fork, issue, Projects
- Tarixni tuzatasiz va tiklaysiz: amend, reset, revert, cherry-pick, bisect, reflog
- Professional workflow larni bilasiz: GitHub Flow, Gitflow, Conventional Commits, SemVer
- CI/CD ni sozlaysiz: Actions, Pages, Releases, Secrets
- Ilg'or vositalardan foydalanasiz: submodule, worktree, hooks, LFS,
gh
Keyingi qadamlar
- Amaliyot — har bir loyihangiz Git da, GitHub da, README bilan. Portfolio
- Ochiq kodga hissa —
good first issuedan boshlang (24-dars) - Linux va Docker kurslari — Git bilan birga professional dasturchi asboblar to'plamini to'ldiradi
- Pro Git — bepul, rasmiy kitob; "Git Internals" bobi — chuqur tushunish uchun
- learngitbranching.js.org — branch lar bo'yicha interaktiv vizual mashqlar
Nima uchun shunday?
Nima uchun kurs terminal bilan o'tildi, agar grafik vositalar ko'p narsani osonlashtirsa?
Chunki terminal — Git ning haqiqiy modelini ko'rsatadi. Grafik vosita "Sync" tugmasini ko'rsatadi — terminal esa bu fetch, merge yoki rebase, va push ekanini o'rgatadi. Hammasi yaxshi ishlaganda — farqi yo'q. Lekin muammo bo'lganda — conflict, rad etilgan push, detached HEAD, "yo'qolgan" commit — grafik vosita ko'pincha shunchaki xato oynasini ko'rsatadi, va faqat model ni tushungan odam nima bo'layotganini va qanday tuzatishni biladi. Endi sizda bu model bor. Shuning uchun istalgan grafik vositani bir soatda o'rganasiz va undan ongli foydalanasiz — u qanday ishlashini bilgan holda. Vositalar keladi va ketadi; tushunish qoladi.
Xulosa
Eslab qoling:
- VS Code: Source Control (Ctrl+Shift+G), Stage Selected Ranges, Merge Editor; GitLens, Git Graph
- GitHub Desktop — eng sodda, boshlovchilar uchun
- GitKraken — eng yaxshi vizual tarix; SourceTree — bepul, to'liq
- lazygit — terminal ichida grafik interfeys
- GUI —
add -p, diff, conflict, tarixni ko'rish uchun qulay - Terminal — reflog, bisect, skriptlar, serverlar va muammolarni tushunish uchun
- Har bir tugma ortida — Git buyrug'i; xavflilarini taniy biling
Omad! 🚀