Hinzufügen eines Git-Zweigs zur Bash-Eingabeaufforderung für Schneeleoparden

8

Ich benutze dies:

$(__git_ps1 '(%s)')

Es funktioniert, wird jedoch nicht aktualisiert, 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 korrekt eingestellt, aber nur, wenn ich bash_profile neu lade. Ich habe viel zu viel Zeit damit verschwendet. Ich benutze Bash auf Schneeleoparden. Bitte helfen Sie!

Bearbeiten: Sie können meine Punktedateien auf Github und die Datei sehen, die die PS1 hier einstellt

Crayment
quelle

Antworten:

9

Okay Problem gelöst.

Ich habe getan:

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

und ich musste tun:

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

Sie müssen dem Dollarzeichen entkommen, sonst wird es nur einmal ausgeführt und ersetzt.

Crayment
quelle
0

Sie müssen wahrscheinlich verwenden $PROMPT_COMMAND

Bis auf weiteres angehalten.
quelle
Vielen Dank. Ich habe versucht, mit PROMPT_COMMAND zu spielen, aber nicht mit meinem aktuellen Setup. Sie können die Datei, die die Einstellung vornimmt, hier sehen: github.com/crayment/dotfiles/blob/master/bash/config
crayment