Chapters ▾ 2nd Edition

A1.6 Appendix A: O Git em Outros Ambientes - Git no Bash

Git no Bash

Se você é um usuário do Bash, pode aproveitar alguns dos recursos do seu shell para tornar a sua experiência com o Git muito mais amigável. O Git na verdade é distribuído junto com plugins para vários shells, mas eles não vêm ativados por padrão.

Primeiro, você precisa conseguir uma cópia do arquivo de autocompletar a partir do código-fonte da versão (release) do Git que você está usando. Verifique a sua versão ao digitar git version, e então use git checkout tags/vX.Y.Z, onde vX.Y.Z deverá corresponder à versão do Git que você estiver usando. Copie o arquivo contrib/completion/git-completion.bash para um local de fácil acesso, como o seu diretório home (home directory), e adicione isto ao seu .bashrc:

. ~/git-completion.bash

Uma vez feito isto, mude o seu diretório para um repositório no Git e digite:

$ git chec<tab>

…e o Bash fará a ação de autocompletar para git checkout. Isso funciona para todos os subcomandos do Git, os parâmetros de linha de comando, e também origens remotas e nomes de refs, onde for apropriado.

Também é muito prático customizar o seu prompt para mostrar informações sobre o repositório Git do diretório atual. Isso pode ser tão simples ou complexo quanto você quiser, mas em geral existem poucas e essenciais (key) partes de informações que a maior parte das pessoas gostaria de dispor, como o branch atual, e o status do diretório de trabalho. Para adicionar isto ao seu prompt, basta copiar o arquivo contrib/completion/git-prompt.sh do repositório fonte do Git para o seu diretório home, e então adicionar algo assim no seu .bashrc:

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

O \w significa para imprimir (print) o diretório atual de trabalho, e o \$ imprimirá a parte do $ ali no prompt, e o __git_ps1 " (%s)" chamará a função provida pelo git-prompt.sh com o argumento ali na sua formatação. Agora o seu prompt de bash parecerá assim sempre que você estiver em qualquer lugar dentro de um projeto controlado pelo Git:

Prompt de `bash` customizado
Figure 184. Prompt de bash customizado

Ambos destes scripts já vêm com documentações muito úteis; dê uma olhada sobre aos e sob nos conteúdos lá para o git-completion.bash e ao git-prompt.sh visando angariar um pouco mais de informações.