Misingi

Git Bash: ni nini na jinsi ya kuitumia kwenye Windows

Imesasishwa: · Skillaria.Top

Git Bash ni terminal ya Windows inayowekwa pamoja na Git for Windows na inatoa mazingira ya Unix: ganda la bash, amri ls, cd, cat, grep, ssh na Git yenyewe. Inatumika ili amri za Git na maelekezo ya nyaraka ziendeshe kwenye Windows kama kwenye Linux na macOS.

Git Bash ni nini

Git Bash ni programu ya Windows inayowekwa pamoja na Git for Windows na kufungua dirisha la terminal lenye ganda la bash. Ndani yake Git yenyewe inafanya kazi pamoja na zana za kawaida za Unix: ls, cd, pwd, cat, grep, find, less, ssh, ssh-keygen, curl na nyinginezo.

Kiufundi ni toleo la mazingira ya MSYS2: programu zimejengwa kwa Windows lakini zinatenda kama kwenye Linux. Dirisha la terminal kwa chaguo-msingi ni MinTTY. Si mashine pepe wala Linux kamili — kwa hilo kuna WSL. Git Bash ni nyepesi: inaanza papo hapo na inafanya kazi moja kwa moja na faili za Windows.

Kwenye utafutaji mara nyingi huandikwa «git bush» au «git baash» — ni kitu kile kile. Bash ni kifupi cha Bourne Again SHell, hakina uhusiano na neno «bush» (kichaka).

Kwa nini Git Bash, wakati kuna cmd na PowerShell

Git hufanya kazi vizuri ndani ya PowerShell na ya amri ya kawaida. Lakini Git Bash ina faida za kivitendo, hasa kwa wanaoanza.

  • Amri zile zile kwenye mifumo yote. Nyaraka za Git, majibu kwenye mabaraza, maelekezo ya GitHub na kozi huandika amri kwa bash. Kwenye Git Bash zinafanya kazi bila kubadilishwa: rm -rf build, cat ~/.ssh/id_ed25519.pub, export VAR=value.
  • Zana za SSH zilizo tayari. ssh-keygen, ssh-agent, ssh-add ziko tayari — ufunguo wa GitHub unatengenezwa kwa dakika moja.
  • Vidokezo vya Git kwenye kidokezo cha amri. Git Bash inaonyesha tawi la sasa moja kwa moja kwenye mstari wa kuandika, kwa mfano (main), na wakati wa merge — (main|MERGING).
  • Kukamilisha kiotomatiki. Tab inakamilisha amri za Git, majina ya matawi na faili.
  • Ujuzi wa baadaye. Seva, kontena za Docker na CI zinaendeshwa kwenye Linux. Ukizoea bash kwenye Git Bash, utajihisi nyumbani ukiwa kwenye seva.

Git Bash, Git CMD, PowerShell: tofauti ni nini

Baada ya kusakinisha Git for Windows, menyu ya «Start» inaonyesha vipengee kadhaa, na hilo linachanganya.

ZanaNi niniLini kutumia
Git BashGanda la bash lenye zana za Unix na GitKazi kuu ya Git, kufuata maelekezo kutoka mtandaoni
Git CMDAmri ya kawaida ya Windows (cmd.exe) yenye Git kwenye PATHUkizoea cmd na unahitaji amri za git tu
Git GUIKiolesura rahisi cha picha kilichojengwa kwa Tcl/TkKujenga commit kwa macho; haitumiki sana
PowerShell / cmdTerminal za kawaida za WindowsGit inafanya kazi ukichagua PATH «from the command line and also from 3rd-party software» wakati wa usakinishaji

Git CMD si programu tofauti, bali cmd ya kawaida yenye mazingira yaliyoandaliwa. Amri za Git ni zile zile humo, lakini ls, cat na grep hazifanyi kazi: badala yake ni dir, type na findstr. Maswali ya «cmd git» kwa kawaida yanamaanisha hili: jinsi ya kuendesha git kutoka amri ya kawaida. Jibu ni kwamba hakuna njia maalum — endesha tu git status ikiwa Git iko kwenye PATH.

Jinsi ya kufungua Git Bash

Kutoka menyu ya «Start»

Andika «Git Bash» na uifungue. Terminal itafunguka kwenye folda ya nyumbani ya mtumiaji: /c/Users/Jina, ambayo kwenye bash inaonyeshwa kama ~.

Kwenye folda unayotaka kupitia menyu ya kulia

Njia rahisi zaidi: kwenye Explorer bofya kulia sehemu tupu ndani ya folda ya mradi na uchague «Open Git Bash here». Kwenye Windows 11 chaguo hili liko chini ya «Show more options» (au Shift + bofya kulia).

Kwenye terminal ya VS Code

Fungua terminal (Ctrl + `), bonyeza mshale karibu na «+» kisha uchague Git Bash. Ili ifunguke kwa chaguo-msingi, tekeleza amri «Terminal: Select Default Profile» na uchague Git Bash.

Kwenye Windows Terminal

Git for Windows inaweza kuongeza wasifu wa Git Bash kwenye Windows Terminal yenyewe (chaguo kwenye msaidizi wa usakinishaji). Ikiwa wasifu haupo, tengeneza mpya kwa amri C:\Program Files\Git\bin\bash.exe -i -l.

Njia na faili: tofauti kuu na Windows

Kwenye Git Bash njia zinaandikwa kwa mtindo wa Unix. Diski C: inageuka kuwa /c, na mistari ya kurudi nyuma inageuka kuwa ya mbele.

WindowsGit Bash
C:\Users\Anna\projects/c/Users/Anna/projects
D:\work/d/work
%USERPROFILE%~ au $HOME

Ikiwa njia ina nafasi, iweke ndani ya nukuu: cd "/c/Users/Anna/My Projects". Kufungua folda ya sasa kwenye Explorer, tumia explorer ., na kwenye VS Code — code ..

Amri za msingi za Git Bash kwa mwanzoni

Kuvinjari na faili

pwd                 # niko wapi
ls -la              # orodha ya faili, pamoja na zilizofichwa (.git, .gitignore)
cd projects/site    # ingia kwenye folda
cd ..               # nenda ngazi moja juu
mkdir new-app       # tengeneza folda
touch index.html    # tengeneza faili tupu
cat README.md       # onyesha yaliyomo
rm file.txt         # futa faili
rm -r old-folder    # futa folda pamoja na yaliyomo
clear               # safisha skrini

Hifadhi ya kwanza moja kwa moja kwenye 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 "Habari, Git" > hello.txt
$ git add hello.txt
$ git commit -m "Ongeza hello.txt"
$ git log --oneline

Baada ya git init kidokezo kitabadilika: jina la tawi litaonekana kwenye mabano. Hii ni njia ya haraka ya kujua kuwa uko ndani ya hifadhi.

Mbinu muhimu

  • Tab — kukamilisha amri, matawi na faili. Bonyeza mara mbili kuona chaguo.
  • Mshale wa juu — amri iliyotangulia; history — historia yote; Ctrl + R — kutafuta kwenye historia.
  • Kunakili/kubandika — kwenye MinTTY kuchagua kwa panya tu kunakili; kubandika ni Shift + Insert au kitufe cha kulia cha panya. Ctrl + C kwenye terminal inasimamisha amri, si kunakili.
  • q — kutoka kwenye kuonyesha kurasa (git log, git diff hufunguka kwenye less).
  • Esc, kisha :q! na Enter — kutoka Vim ikiwa ilifunguka kwa ujumbe wa commit.

Git CLI: kwa nini ujifunze mstari wa amri

Git CLI ni kiolesura cha mstari wa amri cha Git, yaani amri zenyewe git .... Vifaa vya picha ni vizuri kutazama historia, lakini vina mipaka: si operesheni zote zinapatikana, na kitufe kikishindwa hakielezi kinachotokea. Mstari wa amri unatoa udhibiti kamili na ujumbe wa kina.

Sababu nyingine: kwenye mahojiano au kwenye timu ya mtu mwingine utaulizwa jinsi unavyoghairi commit au kusuluhisha conflict, na kila mtu ana GUI yake. Amri zinafanana kila mahali. Mkakati mzuri ni kufanya kazi kwenye CLI, na kutumia GUI au zana za IDE kwa kutazama diff na historia.

Kuweka Git Bash kwa mapendeleo yako

Aliases kwenye ~/.bashrc

Git Bash inasoma ~/.bash_profile na ~/.bashrc inapoanza. Ongeza mifupisho:

alias gs='git status'
alias gl='git log --oneline --graph --all'
alias ll='ls -la'

Ili mabadiliko yaanze bila kufunga terminal, tekeleza source ~/.bashrc. Ikiwa wakati wa kuanza utaona onyo kwamba .bashrc imepatikana lakini .bash_profile haipo, Git Bash itaunda .bash_profile yenyewe — hilo ni la kawaida.

Aliases za Git yenyewe

Aliases zinaweza pia kuhifadhiwa ndani ya Git, na hufanya kazi kwenye terminal yoyote:

git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"

Sasa git st na git lg zinafanya kazi kwenye Git Bash na PowerShell zote.

Mwonekano

Fonti, ukubwa, rangi na uwazi vinabadilishwa kwa kubofya kulia kichwa cha dirisha → Options. Kwa herufi za Kisirili au lugha nyingine, katika sehemu ya Text hakikisha umechagua usimbaji UTF-8.

Matatizo ya kawaida kwenye Git Bash

Herufi zisizosomeka badala ya herufi za lugha yako kwenye git log

Kwa kawaida inasaidia kuweka UTF-8 kwenye Options → Text na kuongeza mstari export LANG=ru_RU.UTF-8 kwenye ~/.bashrc (badilisha lugha kwa yako). Kwa majina ya faili yenye herufi zisizo za ASCII kwenye git status, tekeleza git config --global core.quotepath false — vinginevyo yanaonyeshwa kama mfuatano wa kutoroka kama \320\277.

Programu za mwingiliano zinakwama

Baadhi ya programu za console (kwa mfano kiingilizi cha Python au node bila hoja) zinatenda ajabu kwenye MinTTY. Ziendeshe kupitia winpty: winpty python, au tumia Git Bash ndani ya Windows Terminal.

Njia zinageuka kuwa kitu cha ajabu

MSYS hubadilisha kiotomatiki hoja zinazofanana na njia za Unix kuwa njia za Windows. Wakati mwingine hili linasumbua, kwa mfano unapopitisha /app kwa docker run. Suluhisho ni kuandika mara mbili mstari (//app) au kuweka MSYS_NO_PATHCONV=1 kwa amri husika.

«Permission denied (publickey)» wakati wa push

Ufunguo wa SSH haujatengenezwa au haujaongezwa kwenye GitHub. Tengeneza ufunguo kwenye Git Bash kwa amri ssh-keygen -t ed25519 -C "you@example.com", nakili yaliyomo ya ~/.ssh/id_ed25519.pub kwenye mipangilio ya GitHub, kisha hakiki kwa ssh -T git@github.com.

Git Bash au WSL

WSL ni Linux halisi ndani ya Windows, yenye mfumo wake wa faili na vifurushi. Inahitajika ukiendeleza kwa Linux: unaendesha Docker, unakusanya programu, unatumia mrundiko wa seva. Git Bash ni rahisi na nyepesi, na kwa kazi ya Git inatosha kabisa. Jambo muhimu ni kutochanganya: hifadhi iliyoclonewa ndani ya WSL ni bora kusimamiwa na Git kutoka WSL, na hifadhi iliyo kwenye diski C: — Git for Windows.

Muhtasari

Git Bash ni terminal yenye bash na zana za Unix, inayokuja pamoja na Git for Windows. Inaifanya Windows ifuate nyaraka na maelekezo ya Git, inatoa SSH tayari na kuonyesha tawi kwenye kidokezo. Git CMD ni Git ile ile kwenye amri ya kawaida, bila zana za Unix. Kwa kujifunza na kazi ya kila siku kwenye Windows chagua Git Bash — kozi ya Git inaitumia kama terminal kuu kwenye mazoezi ya vitendo.

Maswali ya mara kwa mara

Je, Git Bash ni bure?

Ndiyo, Git Bash ni sehemu ya Git for Windows na inasambazwa bure chini ya leseni huria.

Je, Git Bash inaweza kusakinishwa bila Git?

Hapana, Git Bash inawekwa pamoja na Git for Windows pekee. Ikiwa Git tayari imewekwa, Git Bash iko kwenye menyu ya «Start».

Je, Git Bash ipo kwenye macOS na Linux?

Hakuna programu tofauti na haihitajiki: kwenye macOS na Linux terminal iliyojengwa ndani tayari inafanya kazi na bash au zsh pamoja na zana za Unix.

Git Bash inahifadhi wapi folda ya nyumbani na mipangilio?

Folda ya nyumbani ni C:\Users\Jina, na kwenye bash inapatikana kama ~. Hapo pia kuna .bashrc, .bash_profile, .gitconfig na folda ya .ssh.

Je, inawezekana kuendesha faili za bat na exe ndani ya Git Bash?

Ndiyo, programu za Windows zinaendeshwa kwa jina au njia yake, kwa mfano ./build.bat au notepad file.txt.

Jifunze mada hii kwa video

Mada hii inafundishwa kwa kina pamoja na mazoezi katika kozi “Git kutoka mwanzo hadi msanidi programu anayejiweza”.

Nenda kwenye kozi