Я использую это:
$(__git_ps1 '(%s)')
Он работает, однако, он не обновляется, когда я меняю каталоги или извлекаю новую ветку. У меня также есть этот псевдоним:
alias reload='. ~/.bash_profile'
Образец прогона:
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)$
Как вы видите, он устанавливается правильно, но только если я перезагружаю bash_profile. Я потратил много времени на это. Я использую баш на снежном барсе. Пожалуйста помоги!
Изменить: вы можете увидеть мои точечные файлы на GitHub и файл, устанавливающий PS1 здесь
Обратите внимание, что последний git перемещает __git_ps1 из bash_completion, так что вам нужно получить его отдельно. См. Https://superuser.com/a/477749/66255 .
источник