Добавление ветки git к приглашению bash на снежном барсе


8

Я использую это:

$(__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 здесь

Ответы:


9

Хорошо, проблема решена.

Я делал:

export PS1="$(__git_ps1 '(%s)')"

и мне нужно было сделать:

export PS1="\$(__git_ps1 '(%s)')"

Вы должны избежать знака доллара, в противном случае он просто запускается один раз и подставляется.



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.