Adicionando git branch ao bash prompt no snow leopard

8

Estou usando isso:

$(__git_ps1 '(%s)')

Funciona, no entanto, não é atualizado quando altero diretórios ou faço check-out de um novo branch. Eu também tenho esse alias:

alias reload='. ~/.bash_profile'

Execução de amostra:

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 você pode ver, está sendo configurado corretamente, mas somente se eu recarregar o bash_profile. Eu desperdicei muito tempo com isso. Eu estou usando bash no snow leopard. Por favor ajude!

Edit: Você pode ver meus arquivos no github e o arquivo definindo o PS1 aqui

    
por crayment 19.03.2010 / 09:21

3 respostas

9

Ok, problema resolvido.

Eu estava fazendo:

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

e eu precisava fazer:

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

Você precisa escapar do cifrão, caso contrário, é apenas executado uma vez e substituído.

    
por 19.03.2010 / 12:38
0

Você provavelmente precisará usar $PROMPT_COMMAND

    
por 19.03.2010 / 09:37
0

Observe que o último git move __git_ps1 para fora do bash_completion, portanto, é necessário fazer isso separadamente. Consulte o link .

    
por 21.09.2012 / 02:18