Agregar git branch a bash prompt en snow leopard

8

Estoy usando esto:

$(__git_ps1 '(%s)')

Funciona, sin embargo, no se actualiza cuando cambio los directorios o pago una nueva sucursal. También tengo este alias:

alias reload='. ~/.bash_profile'

Ejecución de muestra:

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)$

Como puede ver, se está configurando correctamente, pero solo si vuelvo a cargar bash_profile. He perdido mucho tiempo en esto. Estoy usando bash en Snow Leopard. ¡Por favor ayuda!

Editar: Puedes ver mis archivos de puntos en github y el archivo de configuración de la PS1 aquí

crayment
fuente

Respuestas:

9

Ok problema resuelto.

Estaba haciendo:

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

y necesitaba hacer:

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

Debe escapar del signo de dólar; de lo contrario, solo se ejecuta una vez y se sustituye.

crayment
fuente
0

Probablemente necesites usar $PROMPT_COMMAND

Pausado hasta nuevo aviso.
fuente
Gracias. Intenté jugar con PROMPT_COMMAND pero no funcionaba con mi configuración actual. Puede ver el archivo que hace la configuración aquí: github.com/crayment/dotfiles/blob/master/bash/config
crayment