Git GUI: mga graphical client ng Git, TortoiseGit, GitKraken, VS Code, at iba pa
Ang Git GUI ay graphical na application na nagpapakita ng history, branch, at pagbabago sa bintana sa halip na command line. Kabilang sa mga sikat na pagpipilian: ang Git interface na nasa VS Code at JetBrains IDE, GitHub Desktop para sa simpleng gawain, TortoiseGit at Git Extensions para sa Windows, at GitKraken at Sourcetree para sa malinaw na pagtatrabaho sa branch. Lahat ay gumagana sa ibabaw ng karaniwang Git.
Ano ang Git GUI at kailangan ba ito
Ang Git GUI ay graphical na application para sa pagtatrabaho sa Git: sa halip na mga command, makikita ninyo ang listahan ng mga binagong file, puno ng mga commit, at mga button na "Commit", "Push", "Merge". Sa ilalim, halos lahat ng Git client ay gumagawa ng parehong operasyon gaya ng command line, at marami ang tahasang tumatawag sa naka-install na git. Kaya ang GUI ay hindi hiwalay na version control system, kundi ibang paraan lang ng pamamahala sa parehong repository.
Lalo na kapaki-pakinabang ang graphical client para sa tatlong gawain: pagtingin sa history at branch bilang graph, bahagyang pag-add ng pagbabago (mas madaling pumili ng mga linya gamit ang mouse kaysa sa git add -p), at pag-ayos ng conflict sa three-panel editor. Pero para sa automation, sa server na naka-SSH, at para maintindihan kung ano talaga ang nangyayari, hindi mapapalitan ang command line.
Ang estratehiyang madalas gamitin ng maraming beteranong developer: alamin ang command line, at gamitin ang GUI kung saan ito nakakatipid ng oras. Kung baguhan kayo, unahin ang mga pangunahing command, para maintindihan ang mga button ng anumang application at hindi magmukhang mahika.
Built-in na git gui at gitk
Kakaunti ang nakakaalam na may kasamang graphical program ang Git mismo. Binubuksan ng git gui ang simpleng bintana na gawa sa Tcl/Tk para maghanda ng commit: tingnan ang diff, idagdag ang mga file at bahagi ng file, gumawa ng commit, at mag-push. Ipinapakita naman ng gitk ang history bilang graph.
git gui
gitk --all
Sa Git para sa Windows, kasama ng Git Bash ang dalawang program na ito. Sa Linux, minsan kailangang i-install ang mga ito bilang hiwalay na package (halimbawa, git-gui at gitk sa Debian at Ubuntu). Luma ang itsura ng interface, pero walang kailangang i-download at gumagana ito saanman may Git.
Git sa VS Code
Kung sa Visual Studio Code kayo nagsusulat ng code, maaaring hindi na kailanganin ang hiwalay na programa. Kayang gawin ng panel na Source Control (Ctrl+Shift+G) ang stage ng hiwalay na file at linya, mga commit, push at pull, paglipat at paggawa ng branch, at ipinapakita nito ang mga pagbabago mismo sa editor gamit ang mga kulay sa gilid. Ang mga merge conflict ay binubuksan na may mga button na "Accept Current", "Accept Incoming", "Accept Both", at sa mas bagong bersyon, may three-panel merge editor na.
Ginagamit ng VS Code ang Git na naka-install sa system, kaya i-install muna ang Git; kung wala ito, magpapakita ng babala ang panel. Dinadagdagan ng mga extension ang kakayahan ng vscode git: nagdaragdag ang GitLens ng authorship ng bawat linya (blame), detalyadong history ng file, at paghahambing ng mga branch, at iginuguhit ng Git Graph ang graph ng commit. May ilang function ng GitLens na para lang sa subscription; tingnan kung ano ang kasama sa libreng bahagi.
Katulad nito, ang mga IDE ng JetBrains (IntelliJ IDEA, PyCharm, WebStorm, at iba pa) ay may mahusay na Git client na may graph ng branch, interactive rebase, shelve, at madaling pag-aayos ng conflict. Para sa maraming developer, ito ang pangunahing git client.
TortoiseGit
Ang TortoiseGit ay libre at open-source na client para sa Windows lang. Hindi ito bumubukas bilang hiwalay na application, kundi naka-integrate sa File Explorer: i-right-click ang folder, at lalabas sa context menu ang Commit, Pull, Push, Show log, at Diff. Sa mga icon ng file, may ipinapakitang status: binago, idinagdag, o nasa conflict.
Lalo itong angkop sa mga galing sa SVN at sanay sa TortoiseSVN, at sa mga hindi programmer gaya ng designer, technical writer, at tester na kailangan lang kumuha at magpadala ng file. Kailangan ng TortoiseGit ang naka-install na Git para sa Windows. Mga kakulangan: hindi cross-platform, at hindi kasing-linaw ng specialized client ang graph ng history.
Git Extensions
Ang Git Extensions ay isa pang libre at open-source na client para sa Windows. Hindi tulad ng TortoiseGit, buong bintana ito na may graph ng commit, panel ng diff, at listahan ng mga branch, kasama ang integrasyon sa File Explorer at Visual Studio. Ipinapakita nito ang maraming operasyon nang malapit sa mga command ng Git, may built-in na console, at sumusuporta sa submodule.
Pinipili ang Git Extensions kapag kailangan ang makapangyarihang libreng client sa Windows na may kumpletong graph, at hindi kailangan ang macOS. Siksik ang interface, kaya kakailanganin ng baguhan ng oras para masanay.
GitHub Desktop
Ang GitHub Desktop ay libreng application na open-source para sa Windows at macOS. Simple ang layunin nito: listahan ng pagbabago, field para sa mensahe ng commit, button ng sync, at pagpalit ng branch. Malalim ang integrasyon nito sa GitHub: isang click lang ang pag-clone ng sariling repository, paggawa ng pull request, at pag-login gamit ang account. Gumagana rin ito sa anumang ibang remote repository.
Ang GitHub Desktop ay magandang unang client para sa baguhan at magandang pagpipilian para sa simpleng project. Limitado o wala ang mga komplikadong operasyon (interactive rebase, reflog, at pinong pag-aayos ng merge), kaya kakailanganin ninyong buksan ang terminal para sa mga ito.
GitKraken
Ang GitKraken ay komersyal na cross-platform client (Windows, macOS, Linux) na may isa sa pinakamalinaw na graph ng commit. Maaaring i-drag ang isang branch para mag-merge o mag-rebase, may built-in na conflict editor, suporta sa Git Flow, integrasyon sa mga sikat na Git hosting at task tracker, at Undo button para sa huling operasyon.
May libreng bersyon na may limitasyon at may bayad na subscription; nagbabago ang mga function sa bawat plano, kaya tingnan sa opisyal na site ang mga kondisyon, halimbawa sa pribadong repository, bago pumili. Gusto ang git kraken dahil sa visualization ng komplikadong history; ang mga kahinaan nito ay ang pangangailangan sa resources at ang bayad na modelo para sa komersyal na paggamit.
Sourcetree, Fork, Sublime Merge, at mga terminal client
Sourcetree mula sa Atlassian ay libreng client para sa Windows at macOS, may graph ng history, suporta sa Git Flow, interactive rebase, at stash. Maayos itong gumagana kasama ng Bitbucket. Maaaring kailanganin ang Atlassian account para sa pag-install.
Fork ay mabilis at maayos na komersyal na client para sa Windows at macOS, may magandang interactive rebase at pag-aayos ng conflict; tingnan ang mga kondisyon ng paggamit sa site ng developer.
Sublime Merge mula sa mga gumawa ng Sublime Text ay napakabilis na client para sa Windows, macOS, at Linux, at malapit ang lohika nito sa command line: madaling makita kung aling Git command ang pinapatakbo ng bawat button. Komersyal ang lisensya, may posibilidad na subukan muna.
lazygit at tig ay mga client sa terminal na may text interface. Sa lazygit, nagagawa ang stage ng linya, rebase, at pag-aayos ng conflict gamit ang mga keyboard shortcut; mainam ang tig para sa pagtingin ng history. Pinipili ito ng mga taong nakatira sa terminal at nagtatrabaho sa server gamit ang SSH.
Talaan ng paghahambing ng mga Git client
| Client | Platform | Paraan ng pamamahagi | Pangunahing lakas | Para kanino |
|---|---|---|---|---|
| git gui + gitk | Windows, macOS, Linux | Libre, kasama sa Git | Walang kailangang i-install | Mabilis na sulyap sa commit at history |
| VS Code | Windows, macOS, Linux | Libre | Git mismo sa editor | Mga developer na nasa VS Code |
| IDE ng JetBrains | Windows, macOS, Linux | Depende sa IDE | Makapangyarihang rebase at conflict tools | Mga gumagamit ng IDE ng JetBrains |
| TortoiseGit | Windows | Libre, open source | Integrasyon sa File Explorer | Dating gumagamit ng SVN, mga hindi programmer |
| Git Extensions | Windows | Libre, open source | Kumpletong graph at maraming function | Mga bihasang gumagamit ng Windows |
| GitHub Desktop | Windows, macOS | Libre, open source | Simple, integrasyon sa GitHub | Mga baguhan, simpleng project |
| GitKraken | Windows, macOS, Linux | Komersyal, may libreng bersyon | Malinaw na graph, drag-and-drop | Mga team na may komplikadong history |
| Sourcetree | Windows, macOS | Libre | Git Flow, integrasyon sa Bitbucket | Mga gumagamit ng Atlassian ecosystem |
| Sublime Merge | Windows, macOS, Linux | Komersyal | Bilis, transparent na mga command | Mga pinahahalagahan ang bilis |
| lazygit | Windows, macOS, Linux | Libre, open source | Pagtatrabaho sa terminal | Mga mahilig sa terminal at SSH |
Paano pumili ng programa para sa Git
- Nagtatrabaho na kayo sa VS Code o IDE ng JetBrains: magsimula sa built-in na Git. Kailangan lang ng hiwalay na application kapag may kulang.
- Kailangan ang pinakasimpleng paraan: GitHub Desktop.
- Windows at sanay sa File Explorer: TortoiseGit; kung kumpletong graph ang kailangan, Git Extensions.
- Komplikadong history na may maraming branch, at team na nasa iba't ibang OS: GitKraken, Sublime Merge, o Fork; tingnan ang mga kondisyon ng lisensya para sa komersyal na paggamit.
- Nakatira kayo sa terminal: lazygit o tig.
Puwedeng sabay-sabay na i-install ang maraming client: nagtatrabaho sila sa iisang repository at hindi nagkakagambalaan, dahil nasa folder na .git ang lahat ng impormasyon. Subukan ang dalawa o tatlong pagpipilian sa totoong project, at piliin ang isa kung saan mas mabilis ninyong nahahanap ang kailangan.
Mga bitag ng graphical client
- Magkaibang bersyon ng Git. Ang ilang application ay may sariling kasamang Git, at maaaring iba ang bersyon nito sa naka-install sa system. Kung magkaiba ang kilos sa GUI at terminal, tingnan sa settings ng client kung aling Git ang ginagamit nito.
- Mga hindi halatang operasyon. Ang button na "Sync" ay maaaring pull na may merge o rebase, at pagkatapos ay push. Alamin kung ano ang eksaktong ginagawa nito bago pindutin sa mahalagang branch.
- Force push sa isang click. Madaling i-rewrite ang history ng remote branch sa GUI. Piliin ang bersyong may pagsusuri (katumbas ng
git push --force-with-lease), at protektahan ang mga pangunahing branch sa server. - Pangalan at email. Kinukuha ng mga client ang mga ito mula sa config ng Git. Tingnan ang
git config --global user.nameatuser.email, kung hindi, mapipirmahan ng maling author ang mga commit mula sa GUI. - Autentikasyon. Madalas na hiwalay sa system Git nag-iimbak ng token ang GUI. Kung gumagana ang push sa terminal pero hindi sa application (o kabaligtaran), halos laging ang credentials ang problema.
Paano pagsamahin ang GUI at command line
Ang pinakakapaki-pakinabang na kasanayan ay ang kayang i-verify sa terminal ang ginawa ng client. Pagkatapos ng hindi malinaw na operasyon sa application, patakbuhin ang git status at git log --oneline --graph --all -n 20: makikita ninyo ang tunay na estado ng mga branch nang walang interpretasyon ng interface. Kapag may nagkamali, ipapakita ng git reflog kung nasaan ang HEAD bago ang pindot, at makakabalik kayo gamit ang git reset o git switch.
Maraming client ang nagpapakita ng log ng mga Git command na naipatupad nila. I-enable ito; ito ang pinakamagandang paraan para matutunan ang mga command nang hindi isinusuko ang maginhawang interface.
Buod
Pinapadali ng Git GUI ang pagtingin sa history, partial commit, at pag-aayos ng conflict, pero hindi nito pinapalitan ang pag-unawa sa mga command. Para sa karamihan ng developer, sapat na ang built-in na Git sa VS Code o IDE; para sa baguhan, bagay ang GitHub Desktop; para sa mga gumagamit ng Windows, ang TortoiseGit o Git Extensions; at para sa malinaw na pagtatrabaho sa komplikadong history, ang GitKraken, Sourcetree, o Sublime Merge. Ang pag-install ng Git, pag-set up nito, at maayos na pagtatrabaho sa terminal ay itinuturo nang praktikal sa kursong Git namin.
Mga madalas itanong
Puwede bang magtrabaho sa Git gamit lang ang graphical client?
Para sa araw-araw na gawain, oo, pero darating at darating ang sitwasyong mas madaling lutasin gamit ang command, gaya ng pagbawi gamit ang reflog. Dapat alam pa rin ang mga pangunahing command.
Kailangan ba ng hiwalay na Git kung may GUI client?
Para sa VS Code, TortoiseGit, at Git Extensions, kailangan ang naka-install na Git. May ilang application, gaya ng GitHub Desktop, na may kasamang Git, pero magagamit pa rin ang sistemang Git para sa terminal.
Anong Git client ang meron sa Linux?
Sa Linux, gumagana ang built-in na git gui at gitk, VS Code at IDE ng JetBrains, GitKraken, Sublime Merge, at ang mga terminal na lazygit at tig.
Ligtas bang buksan ang iisang repository sa maraming client?
Oo, lahat ng client ay gumagana sa iisang folder na .git. Huwag lang magpatakbo ng operasyon nang sabay-sabay, kung hindi, makakakuha ang isa sa mga client ng error tungkol sa naka-lock na index.lock.
Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Git с нуля до уверенного разработчика”.
Pumunta sa kurso