J'essaie de changer mon invite de commande dans le terminal. Je reçois toujours l'erreur:
-bash: __git_ps1: command not found
Je l' ai essayé en tapant dans le terminal est la suivante : __git_ps1
. Je l'ai aussi essayé dans le.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Comme vous pourrez peut-être voir / dire, oui, j'ai l'auto-complétion installée et cela fonctionne très bien!
Je suis tombé sur cette question: "La variable env PS1 ne fonctionne pas sur mac " qui donne le code
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Je l'ajoute donc à mon .bash_profile
espoir que cela changera quelque chose. Eh bien, oui. Cela vient de changer la sortie d'erreur.
Voici .bash_profile
l'ajout:
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Et maintenant, voici la sortie d'erreur modifiée:
sed: (%s): No such file or directory
Remarque: J'ai également déplacé l'alias sous la source sans aucune différence. J'ai la version 1.7.12.1 de git
Cela devrait être un simple changement. Quelqu'un peut-il m'aider?
Modifier 13/10/12
Non, je ne veux certainement pas définir __git_ps1 moi-même, mais j'essayais simplement de voir s'il serait reconnu en le faisant. Oui, j'ai .git-completion.bash
installé le fichier. Voici comment j'ai obtenu la complétion automatique sur ma machine.
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
A ls -la
répertorie ensuite le .git-completion.bash
fichier.
Edit 13/10/12 - Résolu par Mark Longair (ci-dessous)
Le code suivant a fonctionné pour moi pendant .bash_profile
que d'autres ne l'ont pas ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git-completion.bash
définit__git_ps1
comme une fonction shell. Est-ce le vôtre? Comment savez-vous que l'achèvement fonctionne? Que se passe-t-il lorsque vous tapezgit h
<TAB>?git <tab>
comme indiqué dans le commit référencé par Mark Longair.Réponses:
Vous avez installé la version de
git-completion.bash
frommaster
- dans l'historique de développement de git, c'est après un commit qui a séparé la__git_ps1
fonction de la fonctionnalité d'achèvement en un nouveau fichier (git-prompt.sh
). L'engagement qui a introduit ce changement, qui explique la justification, est af31a456 .Je suggérerais tout de même de vous procurer la version de
git-completion.bash
(ougit-prompt.sh
) fournie avec votre installation de git.Cependant, si pour une raison quelconque vous souhaitez toujours utiliser cette fonctionnalité en utilisant des scripts téléchargés séparément à partir de
master
, vous devez télécharger de lagit-prompt.sh
même manière:... et ajoutez la ligne suivante à votre
~/.bash_profile
:Ensuite, votre
PS1
variable qui inclut__git_ps1 '%s'
devrait fonctionner correctement.la source
git-prompt.sh
etgit-completion.bash
se trouvent dans`brew --prefix git`/etc/bash_completion.d/
.git-core
été remplacé pargit
, voir cette questionAprès la mise à niveau vers OSX 10.9 Mavericks, j'ai dû faire référence aux fichiers suivants pour obtenir la fin de la commande git shell et l'invite git pour fonctionner à nouveau.
De mon .bash_profile ou similaire:
la source
~/.git_prompt.sh
. Les autres solutions n'ont pas fonctionné.bash: __docker_machine_ps1: command not found
Vous devriez
$ brew install bash bash-complétion git
Puis source "$ (brew --prefix) / etc / bash_completion" dans votre .bashrc.
la source
La suite a fonctionné pour moi comme un charme:
Exécutez la commande suivante dans votre terminal:
Ouvrez / créez bash_profile:
Ajoutez ce qui suit au fichier:
Enfin, sourcez-le en utilisant:
Cela résoudra le problème de
bash: __git_ps1: command not found
.Votre invite passera également à "os". Pour remplacer "os" par autre chose, modifiez la chaîne "os" dans la ligne d'exportation PS1.
la source
Solution pour MacOS Sierra et git version 2.10.1 <2017-2-06>
Étape 1: installez Git
Vous pouvez ignorer cette étape si vous avez déjà installé le dernier git.
Remarque: si vous installez avec l'
Vérification de l'installation:curl [option] https://...
option de téléchargement, vous devez vous assurer que votre système prend en charge SSL. Donc, pour les nouveaux arrivants, télécharger à partir du navigateur et installer directement à partir du programme d'installation de git est beaucoup plus facile.which git
git --version
la version actuelle devrait être 2.10.1.Étape 2: Ajoutez votre profil Git à votre shell
nano ~/.bash_profile
ounano ~/.bashrc
Dépend de l'endroit où se trouve votre modification.source /usr/local/git/contrib/completion/git-completion.bash
source /usr/local/git/contrib/completion/git-prompt.sh
Remarque: l'emplacement d'installation de git est passé de opt / directory à usr / local / après la mise à niveau d'OSX vers El Capitain, et c'est pourquoi certaines des anciennes réponses ci-dessus ne fonctionnent plus dans MacOS Sierra.
Ajoutez le code suivant à votre configuration PS1:
Option 1: ajoutez directement à votre PS1:
Je préfère cette approche simple car je sais déjàexport PS1='\w$(__git_ps1 "(%s)") > '
.git-completion.bash
qu'il y en a dans mon répertoire personnel et je peux ajouter un autre format d'invite à l'avant. voici mon invite personnelle pour votre référence:export PS1='\t H#\! \u:\w$(__git_ps1 "{%s}") -->> '
Option 2: ajouter un script de sélection
Enregistrez et utilisez le profil:
source ~/.bash_profile
ousource ~/.bashrc
la source
J'ai eu le même problème lors de la mise à niveau vers Yosemite.
Je devais modifier
~/.bashrc
àsource /usr/local/etc/bash_completion.d/git-prompt.sh
place de l'ancien chemin.puis re-source votre
. ~/.bashrc
pour obtenir l'effet.la source
Solution propre High Sierra avec des couleurs!
Aucun téléchargement. Pas d'infusion. Pas de Xcode
Ajoutez-le simplement à votre ~ / .bashrc ou ~ / .bash_profile
la source
__git_ps1 pour bash se trouve maintenant dans git-prompt.sh dans /usr/local/etc/bash_completion.d sur ma version git installée 1.8.1.5 de brew
la source
cela fonctionne sous OS 10.8 dans le .bash_profile
la source
Pour macports, j'ai dû ajouter:
source /opt/local/share/git-core/git-prompt.sh
à mon ./profilela source
touch ~/.profile
. Mais vous avez besoin de toute évidence un fichier: /opt/local/share/git-core/git-prompt.shSi vous espérez utiliser Homebrew pour mettre à niveau Git et que vous avez laissé votre système devenir obsolète en général (comme je l'ai fait), vous devrez peut-être mettre Homebrew lui-même à jour en premier (selon la mise à jour de brassage) : Les fichiers d'arbre de travail non suivis suivants seraient écrasés par la fusion: merci @ chris-frisina)
D'abord mettre Homebrew en conformité avec la version actuelle
Mettez ensuite à jour Git:
Problème résolu! ;-)
la source
Au moins avec Xcode 6, vous avez déjà
git-completion.bash
. C'est à l'intérieur du bundle d'application Xcode.Ajoutez simplement ceci à votre .bashrc:
la source
Ajoutez le fichier source dans le .bash_profile
la source
Je sais que ce n'est pas une vraie réponse ...
J'ai eu des problèmes étranges avec le sourcing git-prompt.sh dans mon .bashrc alors j'ai commencé à chercher une autre solution. Celui-ci: http://www.jqno.nl/post/2012/04/02/howto-display-the-current-git-branch-in-your-prompt/ n'utilise pas __git_ps1 et l'auteur affirme que cela fonctionne aussi sur Mac (pour l'instant cela fonctionne parfaitement sur mon Ubuntu et c'est facile à modifier).
J'espère que ça aide!
la source
Je suivais le cours sur Udacity pour git hub et rencontrais ce même problème. Voici mon code final qui fonctionne correctement.
Ça marche! https://i.stack.imgur.com/d0lvb.jpg
la source
Celui-ci a fonctionné pour moi, et il a une sortie git colorée et un indicateur dans l'invite indiquant si les fichiers ont été modifiés / ajoutés, cuits à droite dedans:
Assurez-vous d'utiliser le bon chemin! J'ai utilisé homebrew pour installer git, utilisez
brew list git
pour obtenir le chemin de votre installation actuelle.Ce serait bien de ne pas utiliser un chemin codé en dur, mais je ne sais pas comment obtenir le chemin vers l'installation actuelle.
Plus d'infos ici: http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-prompt/
la source
Pour git, il y en a
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh
. Et regardez/etc/bashrc_Apple_Terminal
aussi.Donc, je les mets dans
~/.bash_profile
:la source
bash: __docker_machine_ps1: command not found
Avant-propos: désolé de ne pas avoir commenté la réponse de haysclark et d'en avoir fait une nouvelle, tout simplement pas assez de représentants.
Veuillez noter que si vous n'avez pas installé git via Xcode ou home-brew, vous trouverez probablement les scripts bash auxquels haysclarks fait référence dans
/Library/Developer/CommandLineTools/
, et non dans/Applications/Xcode.app/Contents/Developer/
, ce qui rend les lignes à inclure dans .bashrc ce qui suit:Vous aurez besoin de ces lignes si vous souhaitez également utiliser git-prompt.
la source