Estou tentando alterar meu prompt de comando no terminal. Eu continuo recebendo o erro:
-bash: __git_ps1: command not found
Já fiz apenas digitando-a no terminal como é: __git_ps1. Eu também tentei no.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Como você pode ver / avisar, sim, eu tenho o preenchimento automático instalado e funciona muito bem!
Me deparei com esta pergunta: "A variável env PS1 não funciona no mac ", que fornece o código
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Então eu adiciono isso à minha .bash_profileesperança de que isso mude alguma coisa. Bem, sim. Apenas mudou a saída de erro.
Aqui está o .bash_profilecom a adição:
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
E agora, aqui está a saída de erro alterada:
sed: (%s): No such file or directory
Nota: Também mudei o alias abaixo da fonte sem diferença. Eu tenho a versão 1.7.12.1 do git
Isso deve ser uma mudança simples. Alguém por favor pode me ajudar?
Editar 13/10/12
Não, eu definitivamente não quero definir __git_ps1, mas estava apenas tentando ver se isso seria reconhecido. Sim, eu tenho o .git-completion.basharquivo instalado. Eis como obtive a conclusão automática na minha máquina.
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
A ls -laentão lista o .git-completion.basharquivo.
Edit 13/10/12 - Resolvido por Mark Longair (abaixo)
O código a seguir funcionou para mim .bash_profileenquanto outros não ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git <tab>conforme observado no commit referido por Mark Longair.
git-completion.bashdefine__git_ps1como uma função shell. O seu? Como você sabe que a conclusão está funcionando? O que acontece quando você digitagit h<TAB>?