162 votes

`Git` de Homebrew n'utilisant pas la complétion

Lors de l'utilisation de OSX de git, après je modifie un fichier, je peux simplement faire git commit <tab>, et que vais-automatique le nom du fichier à celui qui a été modifié. Cependant, si j'installe une nouvelle version de git à partir de homebrew et je l'utilise, cette fonctionnalité ne fonctionne plus (ce qui signifie que je appuyer sur <tab> et il "demande" moi quel fichier je veux le faire, même y compris ceux qui n'ont pas de changements).

Quelqu'un peut-il éclairer pourquoi, et comment résoudre ce problème? Je préfère utiliser homebrew du git, comme il est plus up-to-date.

Mise à jour: Mon shell zsh,et Ni l'installation d' bash-completion ou zsh-completions travaillé (même après avoir suivi homebrew après les instructions d'installation).

Aussi, après l'installation de git avec homebrew il dit

Bash completion has been installed to: /usr/local/etc/bash_completion.d
zsh completion has been installed to: /usr/local/share/zsh/site-functions

Donc, je ne devrais pas être en mesure d'utiliser l'un de ces?

307voto

Graham Perks Points 8103

Vous cherchez:

 brew install git bash-completion
 

Comme l'indique le commentaire de warpc, vous devez ajouter les éléments suivants à votre ~/.bash_profile pour que le travail de finalisation de homebrew fonctionne:

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

Ce qui précède est mentionné dans les avertissements lorsque vous installez la formule de complétion-bash.

19voto

Anentropic Points 7751

pour une raison quelconque, le fichier manquait à $(brew --prefix)/etc/bash_completion donc la bonne réponse de @Graham Perks n'a pas fonctionné pour moi

La solution dans mon cas était la suivante:

 brew unlink bash-completion
brew link bash-completion
 

5voto

Jonathan Knapp Points 21

J'ai eu le même problème et j'ai même trouvé ce post ce matin. J'ai résolu le problème en mettant à jour l'infusion avec brew update puis en réinstallant git avec brew reinstall git .

On m'a alors informé qu'un autre fichier bloquait le processus de liaison homebrew. Dans mon cas, il s'agissait de /usr/local/share/zsh/site-functions/git-completion.bash . Supprimer le fichier et exécuter brew link git résolu le problème. En devinant que c'était juste une mauvaise version de recette, nous sommes tombés sur.

5voto

user137369 Points 579

Trouvé une solution de travail. C'est très récent (écrit il y a 16 heures et commis il y a 2 heures), et ça vient directement de l'homebrew .

brew install git --without-completions

Juste essayé, et cela fonctionne enfin comme prévu.

0voto

Alex Points 1284

Cela peut avoir quelque chose à voir avec l'utilisation de libedit au lieu de readline dans Lion.

Essayez d’installer readline avant git.

 brew install readline
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X