23 votes

L'autocomplétion Git ne fonctionne pas sur Mac OSX 10.11.5 El Capitan

J'ai essayé les exemples trouvés ici pour que la complétion automatique de Git fonctionne sur El Capitan, mais aucun des exemples ne fonctionne pour moi.

J'ai installé bash-completion avec Homebrew ( brew install bash-completion ).

C'est mon ~/.bash_profile actuellement (comme vous pouvez le voir, j'ai essayé plusieurs choses) :

CRMPiccosMacBook:etc crmpicco$ cat ~/.bash_profile 
alias ll='ls -lG'
alias composer="php /usr/local/bin/composer.phar"

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

if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
    . `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi

#source /usr/local/git/contrib/completion/git-completion.bash
#GIT_PS1_SHOWDIRTYSTATE=true
#export PS1='[\u@mbp \w$(__git_ps1)]\$ '

Donc, si je vais dans mon répertoire avec le dépôt Git cloné et que je tape git checkout m et que j'appuie sur [TAB], je n'obtiens rien (alors que je m'attendais à ce qu'il s'agisse de master à pré-remplir).

Lorsque je lance un source sur elle, elle n'existe pas - pourtant elle est installée.

CRMPiccos-MacBook:signup crmpicco$ brew install bash-completion
Warning: bash-completion-1.3_1 already installed
CRMPiccos-MacBook:signup crmpicco$ source /etc/bash_completion.d/git-completion.bash
-bash: /etc/bash_completion.d/git-completion.bash: No such file or directory

28voto

Tony Williams Points 11219

Vous confondez la complétion bash de base avec le complément nécessaire pour compléter les commandes git.

Le site git qui est installé par Apple n'a pas la configuration requise git-completion.bash donc vous devez installer le git complet. Vous pouvez le faire facilement avec homebrew - brew install git fera l'affaire.

Une fois que vous avez fait cela, décommentez vos trois premières lignes :-.

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

Maintenant source ~/.bash_profile et ça devrait fonctionner correctement.

11voto

NonCreature0714 Points 427

À l'attention des utilisateurs qui, comme moi, ont déjà effectué la mise à jour vers MacOS Catalina, qui a déprécié bash mais j'ai trouvé cette réponse en tête de liste...

Pour MacOS Catalina+, qui utilise zsh il y a quelques autres exigences. Téléchargez les deux scripts :

curl -o git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
curl -o _git https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh

Ensuite, mettez à jour votre ~/.zshrc avec :

zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
fpath=(~/.zsh $fpath)

autoload -Uz compinit && compinit

8voto

Wolfack Points 121

Activer l'autocomplétion de l'onglet Git pour Zsh

Les nouveaux Macs utilisent le shell Zsh par défaut. Si vous utilisez Zsh, ajoutez la ligne suivante au fichier ~/.zshrc et redémarrez votre application Terminal :

autoload -Uz compinit && compinit

Vous pouvez également exécuter les deux commandes suivantes dans votre application Terminal pour ajouter la ligne nécessaire au fichier .zshrc et redémarrer votre shell.

echo 'autoload -Uz compinit && compinit' >> ~/.zshrc
source ~/.zshrc

L'autocomplétion des onglets Git est maintenant activée sur votre Mac.

1voto

Ganesh Satpute Points 111

Avec l'aide de cette réponse Je l'ai résolu en utilisant les commandes suivantes

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

Puis j'ai édité le fichier en exécutant vi ~/.zshrc et y a ajouté la partie suivante

if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

Ensuite, j'ai couru source ~/.zshrc puis les suggestions de git ont commencé à fonctionner correctement.

1voto

Cameron Little Points 121

Pour les personnes utilisant bash 5, vous pouvez installer le paquetage homebrew bash-completion@2 et ajoutez ce qui suit à votre ~/.bash_profile .

[[ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]] && . "$(brew --prefix)/etc/profile.d/bash_completion.sh"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X