# Git branch no terminal do linux


Gosto de usar o git no terminal do linux, uma dica muito útil é ter a informação de qual branch se está no momento.
Para isso baixe o script abaixo e salva em algum lugar, use o comando abaixo para baixar e salvar no seu diretório home de uma só vez.

``` bash
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh -o ~/.git-prompt.sh
```

Depois edite seu bash profile ou bashrc (~/.bashrc)

Adicione a seguinte linha antes de setar a variável PS1:

source ~/.git-prompt.sh

Depois disso uma variável __git_ps1 estará disponível para utilizar.

Altere seu PS1 para conter esses variável aonde quiser que a informação seja vista, o meu fica assim:

``` bash
source ~/.git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=true
export PS1="$(tput setaf 1)_________________________________________________________________________\n$(tput setaf 2)|$(tput setaf 4) \w $(tput setaf 2)\u@\h$(tput sgr0) $(tput setaf 3)\$(__git_ps1) $(tput sgr0) [\t]$(tput setaf 2)\n\[\e[32m\]|\[\e[31m\] => \[\e[0m\]"
```

Reparem no **__git_ps1** na variável.
O export GIT_PS1_SHOWDIRTYSTATE=true adiciona um * no branch se ele tem mudanças na stage área e um + se existem mudanças fora da stage área, em outras palavras, mostra se o branch possui alterações não comitadas.

O meu prompt é todo personalizado como podem ver.

Há para fazer mais coisa, leia o código do script baixado.

O resultado final é esse:

<img data-sizes="auto" width="800" data-src="http://4.bp.blogspot.com/-Ro1QANeksGE/Ukmp6ytLAnI/AAAAAAAAA6E/_qrQzKP57fQ/s1600/git_branch_terminal.png" class="lazyload">

Referências: http://code-worrier.com/blog/git-branch-in-bash-prompt/
