Я добавил 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
.
Подскажите, пожалуйста, что мне не хватает?
Ответы:
Я установил git с помощью MacPorts на мою новую установку Snow Leopard. После установки MacPorts из образа .dmg это будут команды в Terminal.app:
Если вам также нужна поддержка для извлечения из SVN-репозиториев и документов, используйте это вместо второй строки:
Затем добавьте следующее в ваш ~ / .profile или ~ / .bash_profile:
или для MacPorts начиная с версии 2.1.2 на Mountain Lion:
или для MacPorts с более новыми версиями git:
Примечание: bash 4.1 или выше требуется для bash_completion.sh. Если завершение не работает, попробуйте
echo $BASH_VERSION
выяснить, в этом ли проблема. Если это так, введите MacPorts bash, набравbash
и попробуйте git complete.источник
if [ -f /opt/local/share/git-core/git-prompt.sh ]; then . /opt/local/share/git-core/git-prompt.sh fi
/opt/local/etc/profile.d/bash_completion.sh
требуется$BASH_VERSION
версия 4.1 или выше, мне пришлось сделать следующее на Mac OS X 10.8.3 с MacPorts 2.1.3: переключить оболочку входа Mac OS X со своей стандартной/bin/bash
версии (3.2.48 (1) -релиз) на MacPorts/opt/local/bin/bash
(4.2) .42 (2) -релиз), как описано здесь: stackoverflow.com/a/791244/287984. В основномif [ `grep /opt/local/bin/bash /etc/shells` ]; then echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash; else echo /opt/local/bin/bash | sudo tee -a /etc/shells; chsh -s /opt/local/bin/bash; fi
/bin/bash
в Terminal.app на/opt/local/bin/bash
из macports + все.bash_profile
предложенные здесь изменения.Если вы установили мерзавец с помощью доморощенного , чем вы можете настроить совет MacPorts немного и добавить в свои
.bash_profile
и.bashrc
Лучший способ проверить, правильно ли установлен git с помощью homebrew ist для выполнения
и проверьте вывод для каталога установки завершения git bash
Последняя версия Git (1.7.12) также требует следующего, чтобы включить приглашение.
источник
__git_ps1
см. Ответ superuser.com/a/477749/90231 в этом стеке.Все, что вам нужно сделать, это поместить
git-completion.bash
файл в ваш домашнийbin
каталог пользователя и поместить в вас.profile
или.bash_profile
файл следующее:Что это делает, так это убедитесь, что ваша локальная корзина находится в ПУТИ, а
source
команда запускает процесс . Затем, конечно, изменение PS1 помещает текущую проверенную ветку в приглашение.Таким образом, не нужно устанавливать MacPort, чтобы затем установить «завершающую» версию GIT (особенно раздражает, если она у вас уже установлена).
источник
$PATH
. Я решил поставить мой/usr/local/bin/
так, чтобы мне не пришлось изменять мои существующие$PATH
.Хотя текущий ответ верен для старых MacPorts, существует новая проблема с самыми последними MacPorts, приводящая к той же ошибке.
Текущий пакет завершения bash (2.0 r1) требует как минимум bash 4.1 для правильной работы. Как обычно использует OS X Terminal,
/bin/bash
он получает только 3.x. Вы должны изменить настройки терминала для использования,/opt/local/bin/bash -l
как описано в документации MacPorts здесь: http://trac.macports.org/wiki/howto/bash-completionисточник
Вам необходимо найти функции завершения команды. Добавьте в свой .bashrc_profile перед PS1:
источник
Досадно, что это было сломано еще раз. На этот раз его парни с версией 1.7.12-1. Чтобы позволить людям иметь только функцию подсказки без функции завершения (что может замедлить работу), они реорганизовали функцию подсказки из bash_completion / git в свой собственный файл git-prompt.sh.
Поэтому добавление bash_completion, как описано @Lara, только завершит вас (нажатие на вкладку завершает имена тегов / веток).
Чтобы получить его,
__git_ps1
чтобы использовать его в приглашении PS1, вам также необходимо добавить следующее в ~ / .profile.. /opt/local/share/doc/git-core/contrib/completion/git-prompt.sh
Некоторая справка здесь - https://bbs.archlinux.org/viewtopic.php?pid=1163632#p1163632
источник
Или с доморощенным
источник
brew install bash-completion git-extras
хотя (тире вместо подчеркивания).Нашел решение по похожему вопросу :
ГИТ-OSX-инсталлятор поставляется с
git-completion.bash
и устанавливает его/usr/local/git/contrib/completion/
. Просто.bash_profile
получите этот файл из вашего, чтобы получить__git_ps1
.источник
Для Mountain Lion и Mac-Ports мне нужно было использовать следующие строки в моем .bash_profile, чтобы получить и __git_ps1, и дополнения для нормальной работы:
источник
Я использую brew, поэтому мастер-
bash_completion
скрипт, который запускает все скрипты,bash_completion.d
кажется, не предусмотрен. Решения, предлагающие запуск только одного сценария для добавления завершений git, не расширяемы, потому что разные пакеты будут добавлять разные сценарии завершения, и вы, вероятно, захотите запустить их все. Поэтому я добавил это (адаптировано из Arch Linux) в конце/etc/bashrc
:источник
По крайней мере, с Xcode 6 у вас уже есть
git-completion.bash
. Это внутри пакета приложения Xcode.Просто добавьте это в ваш .bashrc:
источник
git br<TAB>
В дополнение к посту Адама К. Джонсона
Вы также можете поставить следующее ...
... в вашем / etc / профиле, если хотите.
Таким образом, все пользователи в системе получат выгоду от любых скриптов завершения bash, установленных в каталоге "/opt/local/etc/bash_completion.d/".
источник
Хотя приведенный выше ответ grundprinzip от 2011 года по-прежнему работает нормально, я хотел бы добавить более свежий ответ теперь, когда есть пакет bash-дополнения Homebrew ( формула , репо ), который делает это еще проще. (Это включает в себя завершение для git, а также других распространенных инструментов.)
Сегодня macOS поставляется с Bash 3, но вы можете
brew install bash
получить Bash 4. Если вы работаете с Bash 4, то установите более новую ветку 2.x bash-complete.Баш 4
Бегать:
Добавить к
~/.bash_profile
:Баш 3
Если вы хотите придерживаться стандартной версии 3.x для MacOS, следуйте этим инструкциям.
Бегать:
Добавить к
~/.bash_profile
:Ссылка: http://davidalger.com/development/bash-completion-on-os-x-with-brew/
источник
Я думаю, что вы, возможно, забыли поиск файла при входе в систему
.bashrc
, вы можете добавить что-то вроде:Использование с
.
последующим пробелом запускает файл в текущем контексте.источник