95 votes

Comment faire fonctionner git-completion.bash sous Mac OS X ?

J'ai suivi http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-without à ajouter git-completion.bash à mon /opt/local/etc/bash_completion.d/git-completion

et j'ai mis PS1='\h:\W$(__git_ps1 "(%s)") \u\$ ' dans mon .bashrc_profile

Mais maintenant j'obtiens ceci -bash: __git_ps1: command not found tout ce que je fais un cd .

Pouvez-vous me dire ce que j'ai manqué ?

0 votes

5voto

studgeek Points 2185

Il est regrettable que cela ait été rompu une fois de plus. Cette fois, ce sont les gens de git avec la version 1.7.12-1. Pour permettre aux gens d'avoir juste la fonctionnalité d'invite sans la fonctionnalité de complétion (qui peut ralentir les choses), ils ont refactorisé la fonctionnalité d'invite hors de bash_completion/git et dans son propre fichier git-prompt.sh.

Ainsi, l'ajout de bash_completion tel que décrit par @Lara ne vous donnera que la complétion (frapper la tabulation complète les noms de tags/branches).

Pour obtenir le __git_ps1 pour pouvoir l'utiliser dans votre invite PS1, vous devez également ajouter ce qui suit à votre ~/.profile.

. /opt/local/share/doc/git-core/contrib/completion/git-prompt.sh

Le contexte est ici - https://bbs.archlinux.org/viewtopic.php?pid=1163632#p1163632

0 votes

4voto

derek73 Points 141

Ou avec Homebrew

brew install bash-completion git-extras

2 votes

Merci beaucoup. Cela devrait être brew install bash-completion git-extras cependant (tiret au lieu du trait de soulignement).

3voto

jrc Points 111

Au moins avec Xcode 6, vous avez déjà git-completion.bash . Il est à l'intérieur du paquet d'applications Xcode.

Ajoutez simplement ceci à votre .bashrc :

source `xcode-select -p`/usr/share/git-core/git-completion.bash

0 votes

C'est la seule réponse qui ait fonctionné pour moi. Les autres réponses produisaient des erreurs étranges lorsque vous tapiez une commande incomplète comme git br<TAB>

2voto

Philipp Points 2117

J'ai trouvé une solution sur un question similaire :

Le site git-osx-installer est livré avec git-completion.bash et l'installe dans /usr/local/git/contrib/completion/ . Il suffit d'extraire ce fichier de votre .bash_profile pour obtenir __git_ps1 .

2voto

haysclark Points 121

Pour Mountain Lion et Mac-Ports, j'ai dû utiliser les lignes suivantes dans mon .bash_profile pour que __git_ps1 et completions fonctionnent normalement :

# Bash shell command completion
if [ -f /opt/local/share/doc/git-core/contrib/completion/git-completion.bash ]; then
  . /opt/local/share/doc/git-core/contrib/completion/git-completion.bash
fi

if [ -f /opt/local/share/doc/git-core/contrib/completion/git-prompt.sh ]; then
  . /opt/local/share/doc/git-core/contrib/completion/git-prompt.sh
fi

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X