GitHub Desktop: paano i-download, i-install, at gamitin ang Git nang walang command line
Ang GitHub Desktop ay libreng app ng GitHub para sa Windows at macOS na gumagawa ng mga pangunahing operasyon ng Git gamit ang mga button: clone, commit, push, pull, branch, merge, at pag-ayos ng conflict. I-download ito sa desktop.github.com, mag-sign in sa iyong GitHub account, at pagkatapos ay i-clone ang repository.
Ano ang GitHub Desktop
Ang GitHub Desktop ay libreng open-source na app na inilalabas ng GitHub para sa Windows at macOS. Ipinapakita nito ang mga binagong file, kasaysayan ng commit, at mga branch sa isang window, at ginagawa ang mga pangunahing command ng Git sa pamamagitan ng pag-click ng mga button. May naka-built-in na kopya ng Git ang app, kaya hindi mo kailangang i-install nang hiwalay ang Git para magamit ito.
Kung sasagutin nang maikli ang tanong na «ano ang git desktop»: ito ay graphical na client ng Git na nakatuon sa GitHub. Kaya nitong i-clone ang iyong mga repository sa isang click at gumawa ng pull request at ipakita ang status ng mga check, pero gumagana rin ito sa anumang ibang remote repository sa pamamagitan ng HTTPS, halimbawa sa GitLab o sa sarili mong server.
Angkop ang GitHub Desktop sa mga baguhan, designer, technical writer, at sinumang nangangailangan ng malinaw na ikot na «binago ko — nag-commit ako — ipinadala ko». Ginagamit ito ng mga bihasang developer para makita nang biswal ang diff at pumili ng mga linya na i-commit, habang sa terminal nila ginagawa ang mas komplikadong operasyon.
Paano i-download ang GitHub Desktop
Ang opisyal na address ng pag-download ay desktop.github.com. Awtomatikong natutukoy ng site ang iyong sistema at nag-aalok ng installer para sa Windows o zip archive para sa macOS. I-download lamang ang programa mula roon o mula sa release page ng repository na desktop/desktop sa GitHub: ang mga bersyong «github desktop libre download» mula sa ibang site ay maaaring may kung anu-anong laman.
Walang opisyal na bersyon para sa Linux. Para sa Linux may community-supported fork (repository na shiftkey/desktop) na may mga package na .deb, .rpm, at AppImage, pero ito ay hindi opisyal na build. Sa Linux mas madaling magtrabaho sa terminal o sa built-in na Git client ng iyong editor.
Pag-install sa Windows
- Patakbuhin ang na-download na file, ang GitHubDesktopSetup.
- Walang tinatanong ang installer: nai-install ang programa sa profile ng kasalukuyang user at agad itong bumubukas.
- Hindi kailangan ng administrator rights, at kusang nagda-download ang app ng mga update.
May hiwalay na MSI installer para sa mga computer ng organisasyon; hanapin ito sa dokumentasyon ng GitHub Desktop.
Pag-install sa macOS
- I-extract ang na-download na zip archive.
- I-drag ang GitHub Desktop papunta sa folder na «Applications».
- Buksan ang app at kumpirmahin na gusto mong buksan ang programang na-download mula sa internet.
May mga build para sa Intel at Apple Silicon na processor; karaniwang awtomatikong inaalok ng site ang tama para sa iyo. Maaari rin itong i-install sa pamamagitan ng Homebrew:
brew install --cask github
Pag-sign in sa account at unang setup
Sa unang pagbubukas, hihilingin ng GitHub Desktop na mag-sign in sa GitHub.com. I-click ang sign-in button: magbubukas ang browser kung saan kinukumpirma mong pinapayagan ang app na ma-access ang iyong account. Hindi mo kailangang ilagay ang password sa app mismo, at ang two-factor authentication ay ginagawa sa browser gaya ng dati. Para sa GitHub Enterprise server, may hiwalay na paraan ng pag-sign in.
Pagkatapos, hinihiling ng app na i-configure ang Git: pangalan at e-mail na ilalagay sa bawat commit. Ito ang parehong user.name at user.email na itinatakda gamit ang git config --global, kaya kung na-configure na ang Git, awtomatikong mapupunan ang mga ito. Para maiugnay ang mga commit sa iyong profile sa GitHub, ilagay ang e-mail na nakadagdag sa account, o ang serbisyong address na nasa anyong ID+username@users.noreply.github.com.
Mamaya, mababago ang mga setting na ito: sa Windows, sa menu na File → Options; sa macOS, sa menu na GitHub Desktop → Settings. Doon mo rin pipiliin ang external editor (halimbawa VS Code) at terminal na bubuksan mula sa app, pati na ang theme ng itsura.
Pag-clone ng repository
Ang clone ay nangangahulugang pag-download ng kopya ng remote repository kasama ang buong kasaysayan nito. Sa GitHub Desktop, nasa File → Clone repository ito. May tatlong tab ang window: ang iyong mga repository sa GitHub.com, ang mga repository ng GitHub Enterprise, at ang tab na URL kung saan maaari mong i-paste ang anumang address, kasama na ang sa GitLab.
- Pumili ng repository mula sa listahan o i-paste ang URL.
- Itakda ang lokal na folder (Local path).
- I-click ang Clone at hintaying matapos ang download.
Ganito rin ang ginagawa ng command na git clone. Sa pahina ng repository sa GitHub, sa menu ng button na Code, may opsiyong Open with GitHub Desktop — bubuksan nito ang app na may nakapunong address. Kung mag-clone ka ng repository ng iba na walang write access, hihilingin sa iyo ng app na mag-fork kapag sinubukan mong magpadala ng mga pagbabago sa unang pagkakataon.
Ang umiiral nang folder na may Git project ay idinadagdag sa pamamagitan ng File → Add local repository, at ang bagong repository ay ginagawa sa pamamagitan ng File → New repository: maaari mong piliin agad ang template ng .gitignore, lisensya, at gumawa ng README.
Paano mag-commit sa GitHub Desktop
Sa kaliwa, sa tab na Changes, nakalista ang lahat ng binagong file; sa kanan ang diff ng napiling file: ang mga binurang linya ay pula, ang mga idinagdag ay berde. Ang checkbox sa tabi ng file ang nagtatakda kung papasok ang file sa commit. Ito ang katumbas ng staging area at ng command na git add.
- Alisin ang tsek sa mga file na ayaw mong i-commit.
- Kung kinakailangan, i-click ang mga partikular na linya sa diff para hindi isama ang mga ito: ganito ginagawa ang partial commit, katulad ng
git add -p. - Sa ibaba, isulat ang maikling paglalarawan sa field na Summary at, kung gusto, ang detalye sa Description.
- I-click ang button na Commit to <pangalan ng branch>.
Sa lokal na computer lamang nagagawa ang commit; hindi pa ito napupunta sa server. Sa pamamagitan ng git desktop commit, madali ang paggawa ng maliliit at makabuluhang commit: nakikita mo kung ano ang napupunta sa bawat isa. Kung may mali sa commit, lalabas agad sa ibaba ang button na Undo; binabawi nito ang huling commit at ibinabalik ang mga pagbabago sa working folder, basta hindi pa naipapadala ang commit.
Ang mga file na hindi dapat mapunta sa repository ay maaaring iwasan sa pamamagitan ng context menu ng file: ang opsiyong ignore ay magdadagdag ng file sa .gitignore. Para burahin ang mga hindi pa naka-commit na pagbabago, nasa parehong menu ang Discard changes — nabubura ang mga pagbabago (napupunta sa recycle bin ng system sa Windows at macOS), pero ituring itong hindi na mababawi.
Push, pull, at fetch: pag-sync sa server
Nagbabago ang pangalan ng pangunahing button sa itaas na toolbar ayon sa sitwasyon. Dito ginagawa ang git desktop push at git desktop pull sa isang click.
| Teksto sa button | Ano ang mangyayari | Command ng Git |
|---|---|---|
| Publish repository | wala pa sa GitHub ang lokal na repository: gawin ito at ipadala | paggawa ng remote + git push -u |
| Publish branch | lokal lang ang branch | git push -u origin branch |
| Fetch origin | tingnan kung may bagong commit sa server | git fetch |
| Pull origin | may bagong commit sa server, kunin ang mga ito | git pull |
| Push origin | may lokal kang commit, ipadala ang mga ito | git push |
Sa tabi ng teksto ng button, ipinapakita ang bilang ng commit na may mga arrow pataas at pababa: ilan ang kailangang ipadala at ilan ang kailangang tanggapin. Regular na nagsasagawa ng fetch ang app sa background, kaya kusang lumalabas ang button na Pull kapag may ipinadala ang mga kasamahan.
Kung nagkahiwalay ang branch sa server, ibig sabihin may commit ka at may bagong commit din sa server, tatanggihan ang push. Unahin ang Pull origin: pagsasamahin ng Git ang mga pagbabago, at kung nagsasalungat ang mga ito, magkakaroon ng conflict. Ang force push (pagpapalit ng kasaysayan) ay ipinapanukala lamang ng app pagkatapos ng mga operasyong nagbabago sa mga commit na naipadala na, halimbawa pagkatapos ng rebase.
Mga branch: paggawa, paglipat, checkout
Pinamamahalaan ang mga branch sa pamamagitan ng dropdown na Current branch sa toolbar sa itaas. Nandoon ang listahan ng mga lokal at remote na branch, ang search, at ang button na New branch. Ang pagpili ng branch sa listahan ay git desktop checkout: ililipat ng app ang working folder sa branch na iyon. Maaari mo lang piliin ang remote na branch na wala pa sa iyong computer, at gagawa ang app ng lokal na branch na may tracking.
Ang bagong branch ay ginagawa mula sa kasalukuyang branch o mula sa default na branch — magtatanong ang app kung may pagpipilian. Pagkatapos gawin, nasa iyo lamang ito, kaya magbabago ang button sa itaas tungo sa Publish branch. Ang pagpapalit ng pangalan at pagbura ng branch ay nasa menu na Branch o sa context menu ng branch sa listahan; kapag binubura, maaari mong i-check na mabubura rin ito sa server.
Kapag tapos na ang trabaho sa branch, may opsiyong Create pull request sa menu na Branch: magbubukas ang browser sa pahina ng paggawa ng pull request sa GitHub. Nagaganap na ang review at merge sa website.
Merge at rebase sa GitHub Desktop
Para pagsamahin ang ibang branch sa kasalukuyan, piliin sa dropdown na Current branch ang Choose a branch to merge into <branch> (nandoon din ito sa menu na Branch). Ipinapakita muna ng app kung ilang commit ang isasama at kung magkakaroon ng conflict. Ganito ginagawa ang git desktop merge — ito ay ordinaryong git merge.
Sa parehong menu, may Squash and merge, na pinagsasama ang lahat ng commit ng branch sa iisang commit, at Rebase current branch — ang git desktop rebase na naglilipat ng iyong mga commit sa ibabaw ng napiling branch. Pagkatapos ng rebase ng branch na naipadala na, magkakaiba ang kasaysayan sa server at sa iyong computer, at magbabago ang button na Push tungo sa Force push origin. Gawin ito lamang sa sarili mong branch, na walang ibang nagtatrabaho.
Sa tab na History, maaari mong i-drag ang mga commit: papunta sa ibang branch (ito ay cherry-pick), papunta sa ibabaw ng isa pang commit (squash), o baguhin ang pagkakasunod-sunod. Walang interactive rebase na may buong hanay ng aksyon; para dito kailangan mo ng git rebase -i sa terminal.
Mga conflict sa merge
Kapag ang magkaparehong linya ay binago sa parehong branch, sa merge, pull, o rebase, lalabas ang window na may listahan ng mga file na may conflict. Para sa bawat isa, maaari mong buksan ang file sa external editor o piliin nang buo ang isa sa mga bersyon — sa iyo o ang papasok.
Sa editor, karaniwang ganito ang itsura ng conflict:
<<<<<<< HEAD
const limit = 20;
=======
const limit = 50;
>>>>>>> feature/pagination
Iwan ang bersyong kailangan mo, burahin ang mga marker, at i-save ang file. Kapag nawala ang mga marker sa lahat ng file, mamarkahan ng GitHub Desktop ang mga ito bilang nalutas at bubuksan ang button para ipagpatuloy ang merge — gagawa ito ng merge commit. Kung may nagkamali, maaari mong kanselahin ang merge gamit ang button ng cancel sa parehong window: katumbas ito ng git merge --abort.
Git stash sa GitHub Desktop
Walang hiwalay na button na «stash» sa pangunahing window, pero mayroon ang mekanismo. Kapag lumipat ka sa ibang branch habang may hindi pa naka-commit na pagbabago, tatanungin ka ng app kung ano ang gagawin dito: iiwan ito sa kasalukuyang branch o ililipat sa bago. Ang opsiyong «iwan» ay nagtatago ng mga pagbabago sa stash — ganito gumagana ang git stash sa GitHub Desktop.
Maaari mong itago ang mga pagbabago nang manu-mano sa pamamagitan ng context menu ng listahan ng mga pagbabago (opsiyong Stash all changes). Pagbalik mo sa branch na iyon, makikita mo sa ibaba ng tab na Changes ang linyang Stashed changes: doon mo makikita ang mga nakatagong file at maaari mong ibalik ang mga ito (Restore) o burahin.
Limitasyon: iisang stash lamang bawat branch ang iniimbak ng GitHub Desktop. Kung kailangan mo ng ilang entry, gamitin ang terminal — halimbawa git stash pop na may pinipiling partikular na entry, o git stash apply stash@{1}; maaaring buksan ng app ang terminal sa tamang folder sa pamamagitan ng menu na Repository.
Git LFS sa GitHub Desktop
Iniimbak ng Git LFS ang malalaking binary file (video, PSD, modelo) sa hiwalay na server, at sa repository ay nananatili lamang ang mga pointer. Sinusuportahan ng GitHub Desktop ang LFS: kapag nag-clone o nagbukas ka ng repository na gumagamit ng LFS, iminumungkahi nitong i-initialize ang Git LFS, pagkatapos ay awtomatikong nagda-download at nagpapadala ito ng malalaking file.
Pero hindi maitatakda sa interface kung aling mga file ang susubaybayan sa pamamagitan ng LFS. Ginagawa ito nang isang beses sa terminal, at pagkatapos ay gumagana nang tahimik ang git lfs sa GitHub Desktop:
git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "Track PSD files with Git LFS"
Tandaan ang mga quota: may limitasyon sa storage at traffic ng LFS ang mga libreng GitHub account; tingnan ang kasalukuyang limitasyon sa mga setting ng billing ng iyong account.
Reset, revert, at kasaysayan
Ipinapakita ng tab na History ang mga commit ng kasalukuyang branch at ang mga pagbabago sa bawat isa. Sa pamamagitan ng context menu ng commit, available ang mga sumusunod:
- Revert changes in commit — gumagawa ng bagong commit na nagbabaliktad sa napiling commit. Ligtas ito kahit para sa mga commit na naipadala na.
- Create branch from commit at Create tag — branch o tag mula sa anumang punto sa kasaysayan.
- Amend commit — para sa huling commit lamang: itama ang mensahe o magdagdag ng mga file.
- Reset to commit — sa mga bagong bersyon ng app: ibinabalik ang branch sa napiling commit habang nananatili ang mga pagbabago sa working folder, katulad ng
git reset --mixed.
Walang opsiyong git desktop reset na tahasang nagbubura ng mga pagbabago (git reset --hard) sa interface: sinadya ito upang hindi mawala ang trabaho ng baguhan. Kung kailangan mo ito, gamitin ang terminal, at ang mga nawawalang commit ay hanapin sa pamamagitan ng git reflog.
Kailan mas mabuting gamitin ang command line
Sakop ng GitHub Desktop ang pang-araw-araw na ikot ng trabaho, pero maraming bagay ang hindi available dito o mahirap gawin:
- interactive rebase na may kumpletong aksyon,
git bisect,git reflog,git worktree; - maraming entry ng stash, submodules, detalyadong configuration ng remote;
- pagtatrabaho sa server sa pamamagitan ng SSH at automation sa mga script at CI;
- Linux, kung saan walang opisyal na bersyon.
Bukod dito, ang mga tanong sa job interview ay tungkol mismo sa mga command, at ang pag-unawa sa ginagawa ng fetch, merge, at rebase ay nakakatulong kahit sa GUI. Mas praktikal na alam mo nang mabuti ang command line at gamitin ang app kung saan ito nakakatipid ng oras: sa pagtingin ng diff, partial commit, at pag-ayos ng conflict. Mula sa GitHub Desktop, bumubukas ang terminal sa folder ng proyekto sa pamamagitan ng menu na Repository.
Buod
Ang GitHub Desktop ay simple at libreng paraan para magtrabaho sa Git sa Windows at macOS: i-download sa desktop.github.com, mag-sign in sa account, i-clone ang repository, at ang commit, push, pull, branch, at conflict ay ginagawa sa mga button. Para sa stash, LFS, at reset, limitado ang kakayahan nito, at nananatili sa terminal ang mga komplikadong operasyon. Ang mga remote repository, push, pull, at pagtutulungan sa pamamagitan ng pull request ay detalyadong tinalakay nang praktikal sa kurso sa Git.
Mga madalas itanong
Libre ba ang GitHub Desktop?
Oo, ganap na libre ang app at open source ang code nito; ang binabayaran lamang ay ang mga bayad na plano ng GitHub mismo, kung kailangan mo ang mga ito.
Kailangan ko bang i-install nang hiwalay ang Git para sa GitHub Desktop?
Hindi, may sariling kopya ng Git ang app. Pero kung gusto mo ring magtrabaho sa terminal, i-install nang hiwalay ang Git para sa iyong sistema.
Maaari bang gamitin ang GitHub Desktop sa GitLab o Bitbucket?
Oo, maaaring i-clone ang repository gamit ang HTTPS address sa tab na URL. Ang integrasyon sa pull request at pag-sign in gamit ang account ay gumagana lamang sa GitHub.
Mayroon bang bersyon ng GitHub Desktop sa Tagalog?
Walang opisyal na Tagalog na interface; English ang app. Maikli ang mga pangalan ng button at tumutugma sa mga command ng Git, kaya madali itong maintindihan.
Bakit hindi nakikita ng GitHub Desktop ang mga pagbabago sa file?
Kadalasan, tumama ang file sa isang panuntunan sa <code>.gitignore</code> o binuksan mo ang ibang folder ng repository. Suriin ang path sa menu na Current repository at ang nilalaman ng .gitignore.
Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Git с нуля до уверенного разработчика”.
- GitHub и удалённые репозитории: ваш код в облаке
- Командная работа: форки, feature-ветки и pull request'ы