私はこれを使用しています:
$(__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をリロードした場合に限ります。私はこれに多くの時間を無駄にしてきました。ユキヒョウにbashを使っています。助けてください!
編集:あなたはgithubで私のドットファイルとPS1を設定しているファイルを見ることができます ここ
問題は解決しました。
やっていた:
export PS1="$(__git_ps1 '(%s)')"
そして私はする必要がありました:
export PS1="\$(__git_ps1 '(%s)')"
ドル記号をエスケープする必要があります。そうしないと、1回実行され、で置き換えられます。
最新のgitは__git_ps1をbash_completionから移動するため、個別にソースする必要があることに注意してください。 https://superuser.com/a/477749/66255 を参照してください。
おそらく$Prompt_COMMAND
を使用する必要があります