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.

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:

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:

Referências: code-worrier.com/blog/git-branch-in-bash-pr..