Я пытаюсь изменить командную строку в терминале. Я продолжаю получать сообщение об ошибке:
-bash: __git_ps1: command not found
Я пробовал просто введя его в терминал как: __git_ps1
. Я также попробовал это в.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Как вы можете видеть / сказать, да, у меня установлено автозаполнение, и оно отлично работает!
Я сталкивался с этим вопросом: « Переменная PS1 env не работает на Mac », которая дает код
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Поэтому я добавляю это к моей .bash_profile
надежде, что это что-то изменит. Ну, это так. Он просто изменил вывод ошибок.
Вот .bash_profile
с дополнением:
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
А теперь вот измененный вывод ошибок:
sed: (%s): No such file or directory
Примечание: я также переместил псевдоним ниже источника без разницы. У меня есть версия Git 1.7.12.1
Это должно быть простое изменение. Может кто-нибудь, пожалуйста, помогите мне?
Редактировать 13.10.12
Нет, я определенно не хочу сам определять __git_ps1, но просто пытался понять, будет ли он распознан таким образом. Да, у меня .git-completion.bash
установлен файл. Вот как я получил автозаполнение на моей машине.
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
А ls -la
затем перечисляет .git-completion.bash
файл.
Изменить 10/13/12 - Решено Марком Лонгэйром (ниже)
Следующий код работал для меня, в то .bash_profile
время как другие не ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git <tab>
как указано в коммите, на который ссылается Марк Лонгэйр.
git-completion.bash
определяется__git_ps1
как функция оболочки. Твой? Как вы знаете, завершение работает? Что происходит при вводеgit h
<TAB>?