Kapitel ▾ 2. Auflage

A1.6 Anhang A: Git in anderen Umgebungen - Git in Bash

Git in Bash

Wenn Sie ein Bash-Benutzer sind, können Sie einige Funktionen Ihrer Shell nutzen, um Ihre Erfahrungen mit Git erheblich zu verbessern. Git wird tatsächlich mit Plugins für mehrere Shells geliefert, ist aber standardmäßig nicht aktiviert.

Zuerst müssen Sie eine Kopie der Completions-Datei aus dem Quellcode der von Ihnen verwendeten Git-Version erhalten. Überprüfen Sie Ihre Version, indem Sie git version eingeben, und verwenden Sie dann git checkout tags/vX.Y.Z, wobei vX.Y.Z der von Ihnen verwendeten Git-Version entspricht. Kopieren Sie die Datei contrib/completion/git-completion.bash an einen praktischen Ort, z. B. in Ihr Home-Verzeichnis, und fügen Sie Folgendes zu Ihrer .bashrc hinzu

. ~/git-completion.bash

Sobald dies geschehen ist, wechseln Sie in ein Git-Repository und geben Sie ein

$ git chec<tab>

…und Bash wird zu git checkout autovervollständigt. Dies funktioniert mit allen Git-Unterbefehlen, Kommandozeilenparametern sowie entsprechenden Remote- und Ref-Namen.

Es ist auch nützlich, Ihre Eingabeaufforderung anzupassen, um Informationen über das Git-Repository des aktuellen Verzeichnisses anzuzeigen. Dies kann so einfach oder komplex sein, wie Sie möchten, aber es gibt im Allgemeinen einige wichtige Informationen, die die meisten Leute wünschen, wie den aktuellen Branch und den Status des Arbeitsverzeichnisses. Um diese zu Ihrer Eingabeaufforderung hinzuzufügen, kopieren Sie einfach die Datei contrib/completion/git-prompt.sh aus dem Git-Quellcode-Repository in Ihr Home-Verzeichnis und fügen Sie etwas wie das Folgende zu Ihrer .bashrc hinzu

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

\w bedeutet, das aktuelle Arbeitsverzeichnis auszugeben, \$ gibt den $-Teil der Eingabeaufforderung aus, und __git_ps1 " (%s)" ruft die von git-prompt.sh bereitgestellte Funktion mit einem Formatierungsargument auf. Nun wird Ihre Bash-Eingabeaufforderung, wenn Sie sich innerhalb eines Git-gesteuerten Projekts befinden, wie folgt aussehen

Customized `bash` prompt
Abbildung 184. Angepasste bash-Eingabeaufforderung

Beide Skripte enthalten hilfreiche Dokumentationen. Schauen Sie sich den Inhalt von git-completion.bash und git-prompt.sh an, um weitere Informationen zu erhalten.