
Я следовалhttp://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-withoutдобавить git-completion.bash
к моему/opt/local/etc/bash_completion.d/git-completion
и я вставил PS1='\h:\W$(__git_ps1 "(%s)") \u\$ '
свой .bashrc_profile
Но теперь я получаю это -bash: __git_ps1: command not found
от всего, что делаю cd
.
Можете ли вы мне подсказать, что я упускаю?
решение1
Я установил git с помощьюMacPortsна моей новой установке Snow Leopard. После установки MacPorts из образа .dmg, в Terminal.app будут следующие команды:
sudo port selfupdate
sudo port install git-core +bash_completion
Если вам также нужна поддержка извлечения из репозиториев и документов SVN, используйте это вместо второй строки:
sudo port install git-core +bash_completion +doc +svn
Затем добавьте следующее в ваш ~/.profile или ~/.bash_profile:
# Завершение команды оболочки Bash для MacPorts если [ -f /opt/local/etc/bash_completion ]; тогда . /opt/local/etc/bash_completion фи
или для MacPorts начиная с версии 2.1.2 на Mountain Lion:
# Завершение команды оболочки Bash для MacPorts если [ -f /opt/local/etc/profile.d/bash_completion.sh ]; тогда . /opt/local/etc/profile.d/bash_completion.sh фи
или для MacPorts с более новыми версиями git:
если [ -f /opt/local/share/git-core/git-prompt.sh ]; тогда . /opt/local/share/git-core/git-prompt.sh фи
Примечание: bash 4.1 или выше требуется для bash_completion.sh. Если автодополнение не работает, попробуйте echo $BASH_VERSION
посмотреть, в этом ли проблема. Если да, войдите в MacPorts bash, набрав bash
и попробуйте автодополнение git еще раз.
решение2
Если вы установили git с помощью homebrew, то вы можете немного изменить совет MacPorts и добавить его в свой .bash_profile
и.bashrc
if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
. `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi
Лучший способ проверить, правильно ли установлен git, — это выполнить команду homebrew
brew info git
и проверьте вывод для каталога установки завершения git bash
В последней версии Git (1.7.12) для включения подсказки также требуется следующее.
if [ -f `brew --prefix`/etc/bash_completion.d/git-prompt.sh ]; then
. `brew --prefix`/etc/bash_completion.d/git-prompt.sh
fi
решение3
Все, что вам нужно сделать, это поместить git-completion.bash
файл в домашний каталог пользователя и поместить в него bin
следующее :.profile
.bash_profile
export PATH="$HOME/bin:$PATH"
source ~/bin/git-completion.bash
PS1='[\u@\h \w$(__git_ps1 " (%s)")]\$ '
Это делает то, что ваш локальный bin находится в PATH, и source
команда запускает процесс. Затем, конечно, изменение PS1 помещает текущую проверенную ветку в приглашение.
Таким образом, не нужно устанавливать MacPort для последующей установки «завершенной» версии GIT (особенно раздражает, если она у вас уже установлена).
решение4
Вам нужно получить исходные функции завершения команд. Добавьте в свой .bashrc_profile перед PS1:
. /opt/local/etc/bash_completion.d/git-completion