Eu estou usando isso:
$(__git_ps1 '(%s)')
Funciona, no entanto, não é atualizado quando troco de diretório ou compro uma nova filial. Eu também tenho este alias:
alias reload='. ~/.bash_profile'
Exemplo de execução:
user@machine:~/dev/rails$cd git_folder/
user@machine:~/dev/rails/git_folder$reload
user@machine:~/dev/rails/git_folder(test)$git checkout master
Switched to branch 'master'
user@machine:~/dev/rails/git_folder(test)$reload
user@machine:~/dev/rails/git_folder(master)$
Como você pode ver, está sendo definido corretamente, mas somente se eu recarregar o bash_profile. Eu perdi muito tempo nisso. Estou usando o bash no snow leopard. Por favor ajude!
Edit: Você pode ver meus dotfiles no github e o arquivo configurando o PS1 aqui
Observe que o git mais recente move __git_ps1 para fora do preenchimento bash, portanto, você deve originar esse código separadamente. Consulte https://superuser.com/a/477749/66255 .
fonte