Próbuję zmienić polecenie polecenia w terminalu. Wciąż pojawia się błąd:
-bash: __git_ps1: command not found
Próbowałem go po prostu przez wpisanie jej do terminala jak: __git_ps1
. Próbowałem też tego w.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Jak możesz zobaczyć / powiedzieć, tak, mam zainstalowane automatyczne uzupełnianie i działa świetnie!
Natknąłem się na to pytanie: „ Zmienna env PS1 nie działa na komputerze Mac ”, co daje kod
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Dodaję to do mojej .bash_profile
nadziei, że coś to zmieni. No cóż. Właśnie zmieniło wyjście błędu.
Oto .bash_profile
z dodatkiem:
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
A teraz jest zmieniony wynik błędu:
sed: (%s): No such file or directory
Uwaga: przesunąłem również alias poniżej źródła, bez różnicy. Mam wersję git 1.7.12.1
To powinna być prosta zmiana. Czy ktoś może mi pomóc?
Edytuj 10/13/12
Nie, zdecydowanie nie chcę sam definiować __git_ps1, ale po prostu starałem się sprawdzić, czy można to rozpoznać. Tak, mam .git-completion.bash
plik zainstalowany. Oto jak mam automatyczne uzupełnianie na moim komputerze.
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
następnie wyświetla .git-completion.bash
plik.
Edytuj 10/13/12 - Rozwiązany przez Mark Longair (poniżej)
Poniższy kod działał dla mnie, .bash_profile
podczas gdy inni nie ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git <tab>
zgodnie z zatwierdzeniem wymienionym przez Marka Longaira.
git-completion.bash
definiuje się__git_ps1
jako funkcję powłoki. Czy twoja Skąd wiesz, że ukończenie działa? Co się stanie, gdy wpiszeszgit h
<TAB>?