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_profile
esperança de que isso mude alguma coisa. Bem, sim. Apenas mudou a saída de erro.
Aqui está o .bash_profile
com 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.bash
arquivo 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 -la
então lista o .git-completion.bash
arquivo.
Edit 13/10/12 - Resolvido por Mark Longair (abaixo)
O código a seguir funcionou para mim .bash_profile
enquanto 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.bash
define__git_ps1
como uma função shell. O seu? Como você sabe que a conclusão está funcionando? O que acontece quando você digitagit h
<TAB>?