Git Bash: ano ito at paano gamitin sa Windows
Ang Git Bash ay terminal para sa Windows na kasama ng Git for Windows at nagbibigay ng pamilyar na Unix environment: bash shell, mga command gaya ng ls, cd, cat, grep, ssh, at ang Git mismo. Kailangan ito para gumana ang mga Git command at instruksiyon sa dokumentasyon sa Windows gaya ng sa Linux at macOS.
Ano ang Git Bash
Ang Git Bash ay application para sa Windows na naka-install kasama ng Git for Windows, at nagbubukas ng terminal window na may bash shell. Sa loob nito tumatakbo ang Git mismo at ang mga karaniwang Unix utilities: ls, cd, pwd, cat, grep, find, less, ssh, ssh-keygen, curl, at iba pa.
Sa teknikal na aspeto, ito ay port ng MSYS2 environment: nakacompile para sa Windows ang mga program, pero kumikilos na parang nasa Linux. Ang default na terminal window ay MinTTY emulator. Hindi ito virtual machine at hindi ito buong Linux; para sa ganoon, may WSL. Mas magaan ang Git Bash: mabilis itong bumubukas at direktang gumagana sa mga file ng Windows.
Sa paghahanap, madalas itong nai-type bilang "git bush" o "git bash" na may kahulugang pareho. Ang bash ay nangangahulugang Bourne Again SHell, hindi ito may kinalaman sa bush (halaman).
Bakit gagamit ng Git Bash kung may cmd at PowerShell
Gumagana nang maayos ang Git sa PowerShell at sa normal na command prompt. Pero may praktikal na bentahe ang Git Bash, lalo na sa baguhan.
- Parehong command sa lahat ng system. Ang dokumentasyon ng Git, mga sagot sa forum, instruksiyon ng GitHub, at mga kurso ay nagsusulat ng command para sa bash. Gumagana ang mga ito sa Git Bash nang walang pagbabago:
rm -rf build,cat ~/.ssh/id_ed25519.pub,export VAR=value. - Handa na ang mga tool para sa SSH. Nandiyan na ang
ssh-keygen,ssh-agent, atssh-add, kaya isang minuto lang ang paggawa ng key para sa GitHub. - Mga hint ng Git sa prompt. Ipinapakita ng Git Bash ang kasalukuyang branch sa linya ng input, halimbawa
(main), at habang nag-me-merge,(main|MERGING). - Autocomplete. Dinadagdagan ng Tab ang mga Git command, pangalan ng branch, at file.
- Kasanayan para sa hinaharap. Sa Linux tumatakbo ang mga server, Docker container, at CI. Kapag sanay na kayo sa bash sa Git Bash, parang nasa bahay lang kayo sa server.
Git Bash, Git CMD, PowerShell: ano ang pagkakaiba
Pagkatapos i-install ang Git for Windows, lalabas ang ilang item sa Start menu, at nakakalito ito.
| Tool | Ano ito | Kailan gamitin |
|---|---|---|
| Git Bash | Bash shell na may Unix utilities at Git | Pangunahing trabaho sa Git at pagsunod sa mga tutorial sa internet |
| Git CMD | Normal na Windows command line (cmd.exe) na may Git sa PATH | Kung sanay na kayo sa cmd at git command lang ang kailangan |
| Git GUI | Simpleng graphical client na gawa sa Tcl/Tk | Para biswal na mag-compose ng commit; bihirang gamitin |
| PowerShell / cmd | Mga standard na terminal ng Windows | Gumagana ang Git kung napili ang PATH na "from the command line and also from 3rd-party software" habang nag-i-install |
Hindi hiwalay na program ang Git CMD, normal na cmd lang ito na may naka-set na environment. Pareho ang mga Git command dito, pero hindi gumagana ang ls, cat, at grep; sa halip, dir, type, at findstr ang gamit. Ang tanong na "git cmd" ay kadalasang tungkol sa kung paano patakbuhin ang git sa karaniwang command line. Ang sagot: walang espesyal na kailangan, patakbuhin lang ang git status kung nasa PATH ang Git.
Paano buksan ang Git Bash
Mula sa Start menu
I-type ang "Git Bash" at patakbuhin ang application. Magbubukas ang terminal sa home folder ng user: /c/Users/Pangalan, na sa bash ay makikita bilang ~.
Sa tamang folder gamit ang context menu
Pinakamadaling paraan: sa File Explorer, i-right-click ang bakanteng espasyo sa loob ng folder ng project at piliin ang "Open Git Bash here". Sa Windows 11, nakatago ang opsyong ito sa "Show more options" (o Shift + right click).
Sa VS Code terminal
Buksan ang terminal (Ctrl + `), pindutin ang arrow sa tabi ng "+", at piliin ang Git Bash. Para ito ang default, patakbuhin ang "Terminal: Select Default Profile" at piliin ang Git Bash.
Sa Windows Terminal
Puwedeng idagdag ng Git for Windows ang profile ng Git Bash sa Windows Terminal (may opsyon sa installer). Kung wala pa ang profile, gumawa ng bago gamit ang C:\Program Files\Git\bin\bash.exe -i -l.
Mga path at file: ang pangunahing pagkakaiba sa Windows
Sa Git Bash, nakasulat sa istilong Unix ang mga path. Nagiging /c ang drive C:, at ang backslash ay nagiging forward slash.
| Windows | Git Bash |
|---|---|
C:\Users\Anna\projects | /c/Users/Anna/projects |
D:\work | /d/work |
%USERPROFILE% | ~ o $HOME |
Kung may space ang path, ilagay ito sa quotes: cd "/c/Users/Anna/My Projects". Para buksan ang kasalukuyang folder sa File Explorer, gamitin ang explorer ., at sa VS Code, ang code ..
Mga pangunahing command sa Git Bash para sa baguhan
Navigation at file
pwd # nasaan ako ngayon
ls -la # listahan ng file, kasama ang hidden (.git, .gitignore)
cd projects/site # pumunta sa folder
cd .. # isang antas pataas
mkdir new-app # gumawa ng folder
touch index.html # gumawa ng walang lamang file
cat README.md # ipakita ang laman
rm file.txt # burahin ang file
rm -r old-folder # burahin ang folder kasama ang laman
clear # linisin ang screen
Unang repository sa Git Bash
$ mkdir my-first-repo && cd my-first-repo
$ git init
Initialized empty Git repository in C:/Users/Anna/my-first-repo/.git/
$ echo "Kumusta, Git" > hello.txt
$ git add hello.txt
$ git commit -m "Idagdag ang hello.txt"
$ git log --oneline
Pagkatapos ng git init, magbabago ang prompt: lalabas ang pangalan ng branch sa loob ng bracket. Mabilis itong paraan para malaman na nasa loob kayo ng repository.
Mga kapaki-pakinabang na trick
- Tab: autocomplete ng command, branch, at file. Pindutin nang dalawang beses para makita ang mga opsyon.
- Arrow up: nakaraang command;
history: buong history; Ctrl + R: paghahanap sa history. - Copy/paste: sa MinTTY, awtomatikong kinokopya ang pagpili gamit ang mouse; ang paste ay Shift + Insert o right click. Ang Ctrl + C sa terminal ay pumipigil sa command, hindi nagko-copy.
- q: lumabas sa pagbabasa ng pages (bumubukas sa
lessanggit logatgit diff). - Esc, tapos :q! at Enter: lumabas sa Vim kapag ito ang bumukas para sa commit message.
Git CLI: bakit dapat matutunan ang command line
Ang Git CLI ay command-line interface ng Git, ibig sabihin ang mismong mga command na git .... Kapaki-pakinabang ang graphical client para tingnan ang history, pero may limitasyon: hindi lahat ng operasyon ay available, at kapag nagkamali, hindi ipinapaliwanag ng button kung ano ang nangyayari. Ang command line ay nagbibigay ng buong kontrol at detalyadong mensahe.
May isa pang dahilan: sa interview o sa team ng iba, tatanungin kayo kung paano i-undo ang commit o ayusin ang conflict, at iba-iba ang GUI ng bawat isa. Pareho ang command kahit saan. Magandang estratehiya ang magtrabaho sa CLI, at gamitin ang GUI o IDE tools para tingnan ang diff at history.
Pag-aayos ng Git Bash ayon sa gusto ninyo
Mga alias sa ~/.bashrc
Binabasa ng Git Bash ang ~/.bash_profile at ~/.bashrc tuwing magsisimula. Idagdag dito ang mga shortcut:
alias gs='git status'
alias gl='git log --oneline --graph --all'
alias ll='ls -la'
Para magkabisa ang pagbabago nang walang restart, patakbuhin ang source ~/.bashrc. Kung may lumabas na babala na may .bashrc pero walang .bash_profile, gagawin ng Git Bash ang .bash_profile nang kusa; normal lang ito.
Mga alias ng Git mismo
Puwede ring i-save ang alias sa Git, para gumana ito sa anumang terminal:
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"
Ngayon, gumagana ang git st at git lg sa Git Bash at sa PowerShell.
Itsura
Ang font, laki, kulay, at transparency ay naisasaayos sa pag-right-click sa title bar ng window → Options. Sa seksyong Text, tiyaking UTF-8 ang encoding para sa mga letra ng hindi-Latin na alpabeto.
Karaniwang problema sa Git Bash
Sira-sirang character sa halip na tamang letra sa git log
Kadalasang nakakatulong ang pagtakda ng UTF-8 sa Options → Text, at pagdagdag ng export LANG=en_US.UTF-8 sa ~/.bashrc. Para sa mga file na may hindi-ASCII na pangalan sa git status, patakbuhin ang git config --global core.quotepath false, kung hindi, lalabas ang mga ito bilang escaped sequence gaya ng \320\277.
Hindi tumutugon ang mga interactive program
Kakaiba ang kilos ng ilang console program (halimbawa Python interpreter o node na walang argumento) sa MinTTY. Patakbuhin ang mga ito gamit ang winpty: winpty python, o gamitin ang Git Bash sa loob ng Windows Terminal.
Nagiging kakaibang path ang mga path
Awtomatikong kinokonberte ng MSYS ang mga argumentong mukhang Unix path sa Windows path. Minsan nakakaabala ito, halimbawa kapag ipinapasa ang /app sa docker run. Ang solusyon ay i-double ang slash (//app) o itakda ang MSYS_NO_PATHCONV=1 para sa command.
"Permission denied (publickey)" sa push
Walang SSH key na nagawa o hindi pa naidagdag sa GitHub. Gumawa ng key sa Git Bash gamit ang ssh-keygen -t ed25519 -C "you@example.com", idagdag ang laman ng ~/.ssh/id_ed25519.pub sa settings ng GitHub, at i-check gamit ang ssh -T git@github.com.
Git Bash o WSL
Ang WSL ay totoong Linux sa loob ng Windows, may sariling file system at packages. Kailangan ito kung nagde-develop kayo para sa Linux: magpapatakbo ng Docker, mag-compile, o gagamit ng server stack. Mas simple at magaan ang Git Bash, at sapat na ito para sa lahat ng gawain sa Git. Mahalagang huwag paghaluin: ang repository na na-clone sa loob ng WSL ay mas mainam na hawakan ng Git mula sa WSL, at ang repository sa drive C: ay sa Git for Windows.
Buod
Ang Git Bash ay terminal na may bash at Unix utilities, na kasama ng Git for Windows. Ginagawa nitong tugma ang Windows sa dokumentasyon at mga instruksiyon ng Git, nagbibigay ng handang SSH, at ipinapakita ang branch sa prompt. Ang Git CMD ay parehong Git sa normal na command line, walang Unix commands. Para sa pag-aaral at araw-araw na trabaho sa Windows, piliin ang Git Bash; ginagamit ito bilang pangunahing terminal sa mga practical na klase ng kursong Git namin.
Mga madalas itanong
Libre ba ang Git Bash?
Oo, kasama ang Git Bash sa Git for Windows at libre ito sa ilalim ng open-source na lisensya.
Puwede bang i-install ang Git Bash nang hiwalay sa Git?
Hindi, kasama lang ito ng Git for Windows. Kapag na-install na ang Git, makikita na ang Git Bash sa Start menu.
May Git Bash ba sa macOS at Linux?
Wala at hindi ito kailangan: sa macOS at Linux, nagpapatakbo na ng bash o zsh at Unix utilities ang built-in na terminal.
Saan nakalagay ang home folder at mga setting ng Git Bash?
Ang home folder ay C:\Users\Pangalan, at sa bash ay makikita ito bilang ~. Nandoon din ang .bashrc, .bash_profile, .gitconfig, at ang folder na .ssh.
Puwede bang patakbuhin ang bat at exe file sa Git Bash?
Oo, tumatakbo ang mga Windows program sa pamamagitan ng pangalan o path, halimbawa ./build.bat o notepad file.txt.
Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Git с нуля до уверенного разработчика”.
Pumunta sa kurso