Git
Chapters ▾ 2nd Edition

A1.6 Додатак A: Програм Гит у другим окружењима - Гит унутар Bash

Гит унутар Bash

Ако сте Bash корисник, можете да се прикачите на неке од могућности ваше љуске и своје искуство са програмом Гит учините много пријатнијим. Програм Git се уствари испоручује са додацима за неколико љуски, али то није подразумевано укључено.

Најпре је потребно да преузмете копију фајла за довршавање из изворног кода издања програма Гит који користите. Верзију проверите са git version, па онда употребите git checkout tags/vX.Y.Z, где vX.Y.Z одговара верзији програма Гит коју користите. Копирајте contrib/completion/git-completion.bash фајл на неко згодно место, као што је ваш почетни директоријум, па додајте следеће у свој .bashrc фајл:

. ~/git-completion.bash

Када се то изврши, промените директоријум на гит репозиторијум и откуцајте:

$ git chec<tab>

…и Bash ће то аутоматски да доврши на git checkout. Ово функционише за све Гит подкоманде, параметре командне линије, и имена удаљених репозиторијума и референци тамо где је пригодно.

Такође је корисно и да прилагодите свој одзив тако да прикаже информације о Гит репозиторијуму текућег директоријума. Ово може бити једноставно или компликовано колико год желите, али у општем случају постоји неколико информација које жели да види већина људи, као што је текућа грана и статус радног директоријума. Да бисте их додали у свој одзив, једноставно копирајте фајл contrib/completion/git-prompt.sh из репозиторијума Гит изворног кода у свој почетни директоријум и додајте нешто слично следећем у свој .bashrc фајл:

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

\w значи прикажи текући радни директоријум, \$ исписује $ део одзива, а __git_ps1 " (%s)" позива функцију коју обезбеђује git-prompt.sh са аргументом форматирања. Сада ће ваш bash одзив да изгледа овако када се налазите било где унутар пројекта који контролише Гит:

Прилагођени `bash` одзив
Слика 158. Прилагођени bash одзив

Обе ове скрипте долазе са корисном документацијом; за више информација, погледајте садржај git-completion.bash git-prompt.sh.