Git
Chapters ▾ 2nd Edition

A1.7 Appendix A: Git in anderen Umgebungen - Git in Bash

Git in Bash

Wenn Sie ein Bash-Benutzer sind, können Sie einige der Funktionen Ihrer Shell nutzen, um Ihren Umgang mit Git viel angenehmer zu gestalten. Git wird mit Plugins für mehrere Shells ausgeliefert. Sie sind jedoch nicht standardmäßig aktiviert.

Zunächst müssen Sie eine Kopie der Datei contrib/completion/git-completion.bash aus dem Git-Quellcode herunterladen. Kopieren Sie es irgendwo hin, bspw. in ihr Home-Verzeichnis und fügen Sie folgendes Ihrer .bashrc hinzu:

. ~/git-completion.bash

Wechseln Sie anschließend in ein Git-Repository und geben Sie Folgendes ein:

$ git chec<tab>

…und Bash vervollständigt dies automatisch zu git checkout. Dies funktioniert mit allen Unterbefehlen, Befehlszeilenparametern sowie Remote und Referenznamen von Git, sofern dies erforderlich ist.

Es ist auch nützlich, die Eingabeaufforderung so anzupassen, dass Informationen zum Git-Repository des aktuellen Verzeichnisses angezeigt werden. Dies kann so einfach oder komplex sein, wie Sie möchten. Im Allgemeinen gibt es jedoch einige wichtige Informationen, die die meisten Benutzer benötigen, z. B. den aktuellen Zweig und den Status des Arbeitsverzeichnisses. Um diese zu Ihrer Eingabeaufforderung hinzuzufügen, kopieren Sie einfach die Datei contrib/completion/git-prompt.sh aus dem Quellrepository von Git in Ihr Home Verzeichnis. Fügen Sie Ihre .bashrc Datei folgendes hinzu:

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

Das \w bedeutet das Ausgeben des aktuellen Arbeitsverzeichnisses, das \$ gibt den $ Teil der Eingabeaufforderung aus und __git_ps1 "(% s)" ruft die von` git-prompt.sh` bereitgestellte Funktion mit einem Formatierungsargument auf. Jetzt sieht Ihre Bash-Eingabeaufforderung so aus, wenn Sie sich irgendwo in einem Git Projekt befinden:

Customized `bash` prompt.
Figure 162. Customized bash prompt.

Beide Skripte werden mit hilfreicher Dokumentation geliefert. Weitere Informationen finden Sie in den Skripten git-completion.bash und git-prompt.sh selbst.