Git autocompletion не работает с домашним пивом

12

Вот моя установка:

brew install git bash-completion
Warning: git-2.1.3 already installed
Warning: bash-completion-1.3 already installed

В .bash_profile:

if [ -f $(brew --prefix)/etc/bash_completion ]; then
    . $(brew --prefix)/etc/bash_completion
fi

Но у меня все еще нет автозаполнения для команд git. (Я использовал macports раньше, но полностью удалил его, потому что я не мог заставить команды git автоматически завершаться, что бы я ни пытался.)

Я на OSX 10.10

QED
источник

Ответы:

10

Для Yosemite, после того, как я перешел на git 2.1.3 с помощью homebrew, это сработало в моем .profileфайле ( .bash_profileили подобное тоже подойдет):

# git tab completion (homebrew)
if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
    . `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi

Я имел обыкновение git-prompt.shтам, но изменяя это, чтобы git-completion.bashработать для меня. YMMV.

boorad
источник
3

Попробуйте скачать прямо в вашем домашнем каталоге:

curl -O https://raw.github.com/git/git/master/contrib/completion/git-completion.bash
mv git-completion.bash .git-completion.bash

Затем в вашем .bash_profileдобавьте следующее:

if [ -f ~/.git-completion.bash ]; then
    . ~/.git-completion.bash
fi
jherran
источник
1
Сделал это wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash && source git-completion.bash, пока не повезло.
14:00
@qed, тот ответ + .bash_profile работал на меня.
Мараг
Даже . ~/.git-completion.bashпрямо в оболочке не работает. Нет сообщения об ошибке.
ч.т.д.
1

В моей системе (10.10.5) я исправил это, создав символическую ссылку в /usr/local/etc/bash_completion.d/ на bash_completion.d / git-creation.bash в каталоге GIT. В моем случае:

cd /usr/local/etc/bash_completion.d
ln -s ../../Cellar/git/2.7.2/etc/bash_completion.d/git-completion.bash git-completion.bash

не забудьте проверить установленную версию git и заменить 2.7.2 вашей версией.

Патрик ван Эфферен
источник
У меня уже есть это, но это все еще не работает.
Qed
Наряду с другими ответами, выполнение этого также работало для меня. Благодарность!
Вандеш