Okay Problem gelöst.
Ich habe getan:
export PS1="$(__git_ps1 '(%s)')"
und ich musste tun:
export PS1="\$(__git_ps1 '(%s)')"
Sie müssen das Dollarzeichen entgehen, andernfalls wird es nur einmal ausgeführt und ersetzt.
Ich benutze das:
$(__git_ps1 '(%s)')
Es funktioniert jedoch nicht, wenn ich Verzeichnisse ändere oder einen neuen Zweig auschecke. Ich habe auch diesen Alias:
alias reload='. ~/.bash_profile'
Probelauf:
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)$
Wie Sie sehen, wird es richtig gesetzt, aber nur wenn ich bash_profile neu lade. Ich habe viel zu viel Zeit damit verschwendet. Ich benutze Bash auf Schneeleoparden. Bitte helfen
Bearbeiten: Sie können meine Punktedateien auf github und die Dateieinstellung der PS1 hier sehen
Okay Problem gelöst.
Ich habe getan:
export PS1="$(__git_ps1 '(%s)')"
und ich musste tun:
export PS1="\$(__git_ps1 '(%s)')"
Sie müssen das Dollarzeichen entgehen, andernfalls wird es nur einmal ausgeführt und ersetzt.
Sie müssen wahrscheinlich verwenden $PROMPT_COMMAND
Note that the latest git moves __git_ps1 out of bash_completion so you need to source it separately. See https://superuser.com/a/477749/66255.