J'ai suivi http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-sans sans ajouter git-completion.bash
à mon/opt/local/etc/bash_completion.d/git-completion
et je mets PS1='\h:\W$(__git_ps1 "(%s)") \u\$ '
dans mon .bashrc_profile
Mais maintenant, je reçois -bash: __git_ps1: command not found
tout ce que je fais a cd
.
Pouvez-vous s'il vous plaît me dire ce qui me manque?
Réponses:
J'ai installé git sous MacPorts sur ma nouvelle installation de Snow Leopard. Une fois MacPorts installé à partir de l'image .dmg, voici les commandes de Terminal.app:
Si vous souhaitez également une assistance pour extraire des référentiels et des documents SVN, utilisez ceci au lieu de la deuxième ligne:
Ajoutez ensuite les éléments suivants à votre ~ / .profile ou ~ / .bash_profile:
ou pour MacPorts depuis la version 2.1.2 sur Mountain Lion:
ou pour MacPorts avec les nouvelles versions de git:
Remarque: bash 4.1 ou supérieur est requis par bash_completion.sh. Si l'achèvement ne fonctionne pas, essayez
echo $BASH_VERSION
de voir si c'est le problème. Si tel est le cas, entrez MacPorts bash en le saisissantbash
et essayez à nouveau de l'achèvement git.la source
if [ -f /opt/local/share/git-core/git-prompt.sh ]; then . /opt/local/share/git-core/git-prompt.sh fi
/opt/local/etc/profile.d/bash_completion.sh
besoin de la version$BASH_VERSION
4.1 ou supérieure, je devais effectuer les opérations suivantes sur Mac OS X 10.8.3 avec MacPorts 2.1.3: Basculer le shell de connexion Mac OS X de sa/bin/bash
configuration par défaut (version 3.2.48 (1)) vers MacPorts/opt/local/bin/bash
(version 4.2). .42 (2) -release) comme décrit ici: stackoverflow.com/a/791244/287984. Fondamentalementif [ `grep /opt/local/bin/bash /etc/shells` ]; then echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash; else echo /opt/local/bin/bash | sudo tee -a /etc/shells; chsh -s /opt/local/bin/bash; fi
/bin/bash
dans Terminal.app par/opt/local/bin/bash
macports + tous les.bash_profile
changements suggérés ici.Si vous avez installé git à l' aide homebrew que vous pouvez ajuster les conseils MacPorts un peu et ajouter à votre
.bash_profile
et.bashrc
La meilleure façon de vérifier si vous avez correctement installé git en utilisant homebrew ist pour exécuter
et vérifiez la sortie du répertoire d'installation de l'achèvement de git bash
La dernière version de Git (1.7.12) requiert également les éléments suivants pour activer l’invite.
la source
__git_ps1
, voir superuser.com/a/477749/90231 réponse dans cette pile.Tout ce que vous avez à faire est de placer le
git-completion.bash
fichier dans votrebin
répertoire de base de l'utilisateur et de placer les éléments suivants dans votre fichier.profile
ou dans votre.bash_profile
fichier:Cela permet de s’assurer que votre bin local est dans PATH et que la
source
commande permet de faire avancer les choses. Ensuite, bien sûr, la modification PS1 place la branche actuellement extraite dans l’invite.Donc, aucune installation de MacPort pour installer ensuite la version "complète" de GIT (particulièrement irritante si vous l'avez déjà installée).
la source
$PATH
. J'ai décidé de mettre le mien/usr/local/bin/
pour ne pas avoir à modifier mon existant$PATH
.Bien que la réponse actuelle soit correcte pour les anciens MacPorts, un nouveau problème concernant les MacPorts les plus récents entraîne la même erreur.
Le package bash-completion actuel (2.0 r1) nécessite au moins un bash 4.1 pour fonctionner correctement. Comme un terminal OS X habituel utilise
/bin/bash
seulement un 3.x. Vous devez modifier les paramètres du terminal à utiliser/opt/local/bin/bash -l
comme décrit dans la documentation MacPorts à l' adresse suivante : http://trac.macports.org/wiki/howto/bash-completionla source
Vous devez rechercher les fonctions de complétion de commande. Ajoutez à votre .bashrc_profile avant la PS1:
la source
Ennuis, cela a encore été cassé. Cette fois, ce sont les gens géniaux avec la version 1.7.12-1. Pour permettre aux utilisateurs de ne disposer que de la fonctionnalité d'invite sans la fonctionnalité d'achèvement (ce qui peut ralentir le processus), ils ont refactoré la fonctionnalité d'invite à partir de bash_completion / git et dans son propre fichier git-prompt.sh.
Ainsi, l'ajout de bash_completion comme décrit par @Lara ne vous permettra d'obtenir que l'achèvement (cliquer sur l'onglet complète les noms de balises / branches).
Pour
__git_ps1
que vous puissiez 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
Un peu d’arrière-plan est disponible ici: https://bbs.archlinux.org/viewtopic.php?pid=1163632#p1163632
la source
Ou avec Homebrew
la source
brew install bash-completion git-extras
(tiret au lieu de soulignement).Trouvé une solution sur une question similaire :
Le programme d’ installation de git-osx est livré avec
git-completion.bash
et l’installe/usr/local/git/contrib/completion/
. Juste source ce fichier de votre.bash_profile
pour obtenir__git_ps1
.la source
Pour Mountain Lion et Mac-Ports, je devais utiliser les lignes suivantes de mon fichier .bash_profile pour que __git_ps1 et les compléments fonctionnent normalement:
la source
J'utilise brasser, donc un
bash_completion
script maître qui exécute tous ceux-cibash_completion.d
semble ne pas être fourni. Les solutions qui proposent simplement d'exécuter un seul script pour ajouter des finitions git ne sont pas extensibles, car différents packages ajouteront des scripts d'achèvement différents et vous voudrez probablement les exécuter tous. J'ai donc ajouté ceci (adapté de Arch Linux) à la fin de/etc/bashrc
:la source
Au moins avec Xcode 6, vous avez déjà
git-completion.bash
. C'est à l'intérieur du bundle d'applications Xcode.Ajoutez simplement ceci à votre .bashrc:
la source
git br<TAB>
En plus du poste d'Adam K. Johnson
Vous pouvez aussi mettre ce qui suit ...
... dans votre / etc / profile, si vous voulez.
Ainsi, tous les utilisateurs du système bénéficieront des scripts d'achèvement de bash installés dans le répertoire "/opt/local/etc/bash_completion.d/".
la source
Bien que la réponse ci-dessus de grundprinzip à partir de 2011 fonctionne toujours bien, je voulais ajouter une réponse plus récente maintenant qu’il existe maintenant un paquet Homebrew bash-completion ( formule , repo ) qui facilite encore plus cette opération. (Cela inclut l'achèvement de git ainsi que d'autres outils courants.)
Aujourd'hui, macOS est livré avec Bash 3, mais vous pouvez
brew install bash
obtenir Bash 4. Si vous utilisez Bash 4, installez la nouvelle branche 2.x de bash-complétion.Bash 4
Courir:
Ajouter à
~/.bash_profile
:Bash 3
Si vous souhaitez vous en tenir à stock bash 3.x sous macOS, suivez plutôt ces instructions.
Courir:
Ajouter à
~/.bash_profile
:Référence: http://davidalger.com/development/bash-completion-on-os-x-with-brew/
la source
Je pense que vous avez peut-être oublié de rechercher le fichier dans votre login
.bashrc
, vous pouvez ajouter quelque chose comme:L'utilisation
.
suivie d'un espace exécute le fichier dans le contexte actuel.la source