Автодоповнення Git не працює з домашньою мовою


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. (Раніше я використовував макпорти, але повністю видалив її, тому що я не міг отримати команди git для автоматичного завершення незалежно від того, що я намагався.)

Я на OSX 10.10

Відповіді:


10

Для Yosemite, після того як я оновив до git 2.1.3 з домашньою мовою, це працювало в моєму .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.


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

1
Зробив це wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash && source git-completion.bash, поки не пощастило.
qed

@qed, .bash_profile + відповіді працював на мене.
Мараги

Навіть . ~/.git-completion.bashбезпосередньо в оболонці не працює. Немає жодного повідомлення про помилку.
qed

1

У своїй системі (10.10.5) я виправив це, створивши симпосилання в /usr/local/etc/bash_completion.d/ до bash_completion.d / git-завершення.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

Поряд з іншими відповідями, це добре працювало і для мене. Спасибі!
Вандеш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.