Git
Chapters ▾ 2nd Edition

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

Гит у Zsh

Zsh љуска се испоручује са библиотеком таб-довршавања за програм Гит. Са бисте је користили, једноставно извршите autoload -Uz compinit && compinit у вашем .zshrc фајлу. Интерфејс Zsh љуске је моћнији од оног у Bash:

$ git che<tab>
check-attr        -- display gitattributes information
check-ref-format  -- ensure that a reference name is well formed
checkout          -- checkout branch or paths to working tree
checkout-index    -- copy files from index to working directory
cherry            -- find commits not merged upstream
cherry-pick       -- apply changes introduced by some existing commits

Двосмислена таб-довршавања нису само наведена; уз њих се наводе и корисни описи, а можете и графички да се крећете кроз листу тако што настављате да притискате тастер таб. Ово функционише са Гит командама, њиховим аргументима и именима ствари у репозиторијуму (као што су референце и удаљени репозиторијуми), као и са именима фајлова и свим осталим стварима које Zsh зна како да таб-доврши.

Zsh љуска се испоручује са оквиром за добијање информација из система за контролу верзије, под називом vcs_info. Ако на десној страни желите да видите име гране, додајте следеће линије у свој ~/.zshrc фајл:

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
# PROMPT=\$vcs_info_msg_0_'%# '
zstyle ':vcs_info:git:*' formats '%b'

Резултат овога је да се на десној страни прозора терминала приказује текућа грана, кадгод се љуска налази у Гит репозиторијуму. Такође се подржава и лева страна, наравно; једноставно уклоните коментар са доделе за PROMPT. Изгледа отприлике овако:

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

За виђе информација у вези vcs_info, погледајте његову документацију у zshcontrib(1) страници упутства, или на мрежи на адреси http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information.

Можда ће вам уместо vcs_info више одговарати скрипта за прилагођавање одзива која се испоручује уз програм Гит, под називом git-prompt.sh; за детаље погледајте https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh. git-prompt.sh је компатибилна и са Bash и са Zsh.

Zsh љуска је довољно моћна да постоје комплетни радни оквири који служе за њено побољшање. Један од њих се назива „oh-my-zsh” и може да се нађе на адреси https://github.com/robbyrussell/oh-my-zsh. Систем додатака за oh-my-zsh долази за моћнним таб-довршавању за Гит и има разне „теме” одзива, од којих многе приказују податке из контроле верзије. Пример oh-my-zsh теме. је само један од примера шта може да се постигне овим системом.

Пример _oh-my-zsh_ теме
Слика 160. Пример oh-my-zsh теме.