Chapters ▾ 2nd Edition

A1.6 Bilaga A: Git i andra miljöer - Git i Bash

Git i Bash

Om du använder Bash kan du dra nytta av några av skalets funktioner för att göra din Git‑upplevelse betydligt trevligare. Git levereras med insticksprogram för flera skal, men de är inte aktiverade som standard.

Först behöver du hämta en kopia av kompletteringsfilen från källkoden till den Git‑version du använder. Kontrollera din version genom att skriva git version, och använd sedan git checkout tags/vX.Y.Z, där vX.Y.Z motsvarar den Git‑version du använder. Kopiera filen contrib/completion/git-completion.bash till någon lämplig plats, som din hemkatalog, och lägg till detta i din .bashrc:

. ~/git-completion.bash

När det är klart byter du katalog till ett Git‑kodförråd och skriver:

$ git chec<tab>

…och Bash autokompletterar till git checkout. Detta fungerar med alla Gits underkommandon, kommandoradsparametrar samt namn på fjärrkodförråd och referenser där det är relevant.

Det är också användbart att anpassa din prompt så att den visar information om den aktuella katalogens Git‑kodförråd. Det kan vara så enkelt eller komplext som du vill, men det finns vanligen ett par nyckelbitar av information som de flesta vill ha, som aktuell gren och status för arbetskatalogen. För att lägga till detta i din prompt kopierar du bara filen contrib/completion/git-prompt.sh från Gits källkodförråd till din hemkatalog och lägger till något i den här stilen i din .bashrc:

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

\w betyder att skriva ut den aktuella arbetskatalogen, \$ skriver ut $‑delen av prompten, och __git_ps1 " (%s)" anropar funktionen som tillhandahålls av git-prompt.sh med ett formateringsmönster. Nu kommer din bash‑prompt att se ut så här när du befinner dig någonstans inne i ett Git‑styrt projekt:

Anpassad `bash`‑prompt
Figur 182. Anpassad bash‑prompt

Båda dessa skript har hjälpsam dokumentation; ta en titt på innehållet i git-completion.bash och git-prompt.sh för mer information.