Wie lässt sich git-completion.bash unter Mac OS X zum Laufen bringen?

Wie lässt sich git-completion.bash unter Mac OS X zum Laufen bringen?

Ich bin gefolgthttp://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-withoutzu git-completion.bashmeinem/opt/local/etc/bash_completion.d/git-completion

und ich habe PS1='\h:\W$(__git_ps1 "(%s)") \u\$ 'mein .bashrc_profile eingegeben

Aber jetzt bekomme ich das -bash: __git_ps1: command not foundbei allem, was ich mache cd.

Können Sie mir bitte sagen, was ich übersehe?

Antwort1

Ich habe git installiert mitMacPortsauf meiner neuen Snow Leopard-Installation. Nachdem MacPorts vom .dmg-Image installiert wurde, wären dies die Befehle in Terminal.app:

sudo port selfupdate
sudo port install git-core +bash_completion

Wenn Sie auch Unterstützung für das Abrufen von Daten aus SVN-Repositorys und -Dokumenten wünschen, verwenden Sie Folgendes anstelle der zweiten Zeile:

sudo port install git-core +bash_completion +doc +svn

Fügen Sie dann Folgendes zu Ihrem ~/.profile oder ~/.bash_profile hinzu:

# Abschluss des MacPorts Bash-Shell-Befehls
wenn [ -f /opt/local/etc/bash_completion ]; dann
    . /opt/local/etc/bash_completion
fi

oder für MacPorts seit Version 2.1.2 auf Mountain Lion:

# Abschluss des MacPorts Bash-Shell-Befehls
wenn [ -f /opt/local/etc/profile.d/bash_completion.sh ]; dann
  . /opt/local/etc/profile.d/bash_completion.sh
fi

oder für MacPorts mit neueren Git-Versionen:

wenn [ -f /opt/local/share/git-core/git-prompt.sh ]; dann
    . /opt/local/share/git-core/git-prompt.sh
fi

Hinweis: bash 4.1 oder höher wird von bash_completion.sh benötigt. Wenn die Vervollständigung nicht funktioniert, versuchen Sie echo $BASH_VERSIONherauszufinden, ob das das Problem ist. Wenn ja, geben Sie MacPorts bash ein bashund versuchen Sie die Git-Vervollständigung erneut.

Antwort2

Wenn Sie git mit Homebrew installiert haben, können Sie die MacPorts-Hinweise ein wenig anpassen und dies zu Ihrem .bash_profileund hinzufügen.bashrc

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

Der beste Weg, um zu überprüfen, ob Sie Git mit Homebrew richtig installiert haben, ist die Ausführung

brew info git

und überprüfen Sie die Ausgabe für das Installationsverzeichnis der Git-Bash-Vervollständigung

Die neueste Version von Git (1.7.12) erfordert außerdem Folgendes, um die Eingabeaufforderung zu aktivieren.

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

Antwort3

Sie müssen die git-completion.bashDatei lediglich in Ihrem Benutzer-Home- binVerzeichnis ablegen und Folgendes in Ihre .profileDatei einfügen .bash_profile:

export PATH="$HOME/bin:$PATH"
source ~/bin/git-completion.bash
PS1='[\u@\h \w$(__git_ps1 " (%s)")]\$ '

Dadurch wird sichergestellt, dass sich Ihr lokaler Bin im PATH befindet und der sourceBefehl die Dinge in Gang setzt. Dann fügt die PS1-Änderung natürlich den aktuell ausgecheckten Zweig in die Eingabeaufforderung ein.

Also keine MacPort-Installation, um dann die „Vervollständigungsversion“ von GIT zu installieren (besonders ärgerlich, wenn Sie diese bereits installiert haben).

Antwort4

Sie müssen die Befehlsvervollständigungsfunktionen als Quelle verwenden. Fügen Sie vor PS1 Folgendes zu Ihrem .bashrc_profile hinzu:

. /opt/local/etc/bash_completion.d/git-completion

verwandte Informationen