git alias
Informationen zu Git-Aliasen: wie man sie erstellt und für eigene Git-Befehle nutzt.

Was ist ein Git-Alias?
Ein Git-Alias ist eine benutzerdefinierte Abkürzung, die einen kurzen, einprägsamen Namen einem längeren Git-Befehl (oder sogar einer Befehlskette) zuordnet. Einmal definiert, kann die Eingabe von git co den Befehl git checkout ausführen – das spart Tastendrücke und reduziert Tippfehler bei Befehlen, die man dutzende Male am Tag verwendet.
Es gibt keinen dedizierten git alias-Befehl. Stattdessen werden Aliase als gewöhnliche Konfigurationseinträge gespeichert, sodass man sie mit dem Befehl git config oder durch direktes Bearbeiten einer Git-Konfigurationsdatei erstellt. Da es sich lediglich um Konfiguration handelt, gelten für Aliase die normalen Gültigkeitsbereichsregeln von Git: Man definiert sie global (in ~/.gitconfig), sodass jedes Repository sie verwenden kann, oder lokal (in der .git/config eines einzelnen Repos), wenn ein Alias nur für dieses Projekt sinnvoll ist.
Diese Seite behandelt beide Methoden zur Erstellung von Aliasen, wie man sie überprüft, wie man Befehle mit Argumenten als Alias anlegt, wie man externe Shell-Befehle aus einem Alias heraus ausführt, und eine Reihe von Aliasen, die man noch heute hinzufügen sollte.
Aliase mit git config erstellen
Die gebräuchlichste Methode zum Hinzufügen eines Alias ist der Befehl git config mit dem Flag --global, der in ~/.gitconfig schreibt, sodass der Alias in jedem Repository verfügbar ist:
git config --global alias.co checkoutDie allgemeine Form lautet git config --global alias.<kürzel> "<befehl>". Das obige Beispiel ermöglicht es, git co überall zu verwenden, wo git checkout erwartet wird. Lässt man --global weg, wird der Alias nur auf das aktuelle Repository beschränkt.
Man kann bestätigen, dass der Alias gespeichert wurde, indem man git config --list aufruft, was jeden aktiven Konfigurationswert ausgibt:
git config --listDer neue Eintrag erscheint in der Ausgabe als:
alias.co=checkoutVon nun an verhält sich der Alias genau so, als hätte man den vollständigen Befehl eingegeben. Alle zusätzlichen Argumente werden an den zugrunde liegenden Befehl weitergegeben:
git co -b new-featureDies führt git checkout -b new-feature aus und erstellt einen Branch namens new-feature und wechselt zu ihm.
Aliase durch Bearbeiten der .gitconfig erstellen
Da Aliase reine Konfiguration sind, kann man sie auch durch direktes Bearbeiten der Konfigurationsdatei hinzufügen. Man öffnet ~/.gitconfig (global) oder die .git/config eines Repositories (lokal) und fügt einen [alias]-Abschnitt hinzu:
[alias]
co = checkout
ci = commit
st = statusJede Zeile unter [alias] hat die Form kürzel = befehl. Dies ist genau das, was git config --global alias.co checkout erzeugt, sodass beide Methoden austauschbar sind – die direkte Bearbeitung der Datei ist praktisch, wenn man mehrere Aliase auf einmal hinzufügen möchte.
Befehle mit Argumenten als Alias anlegen
Aliase funktionieren gut für Befehle, die immer dieselben Flags verwenden. Zum Beispiel ein einzeiliges, dekoriertes Log:
git config --global alias.lg "log --oneline --graph --decorate --all"Das Ausführen von git lg gibt dann einen kompakten, grafisch dargestellten Verlauf aus. Unter git log erfährt man, was jedes Flag bewirkt.
Umschließe den Befehl in Anführungszeichen, wenn er Leerzeichen oder Flags enthält, da sonst die Shell die zusätzlichen Wörter an git config weitergibt, anstatt sie als Teil des Alias zu speichern.
Shell-Befehle aus einem Alias ausführen
Um ein externes Programm (keinen Git-Unterbefehl) auszuführen, stellt man dem Aliaswert ! voran. Git führt den Rest dann in einer Shell aus:
git config --global alias.visual "!gitk"So kombiniert man auch mehrere Schritte. Der folgende Alias stagt alles und committet in einem Schritt, wobei $1 die übergebene Commit-Nachricht ist:
git config --global alias.ac '!f() { git add -A && git commit -m "$1"; }; f'Nun führt git ac "fix typo" zuerst git add -A und dann git commit -m "fix typo" aus.
Nützliche Git-Aliase
Hier sind einige Aliase, die alltägliche Befehle verkürzen. Man fügt sie mit git config --global alias.<name> "<befehl>" hinzu:
| Alias | Wird erweitert zu | Beschreibung |
|---|---|---|
co = checkout | git checkout | Wechselt Branches oder stellt Dateien wieder her. |
cob = checkout -b | git checkout -b | Erstellt einen neuen Branch und wechselt zu ihm. |
ci = commit | git commit | Speichert gestagete Änderungen. Siehe git commit. |
st = status -sb | git status -sb | Zeigt einen kurzen, branch-bewussten Status. |
f = fetch -p | git fetch -p | Fetcht und bereinigt veraltete Remote-Tracking-Branches. |
p = push | git push | Überträgt Änderungen an ein Remote. |
bd = branch -d | git branch -d | Löscht einen Branch nur, wenn er gemergt wurde. |
ba = branch -a | git branch -a | Listet Remote-Tracking- und lokale Branches auf. |
bD = branch -D | git branch -D | Löscht einen Branch zwangsweise. |
dc = diff --cached | git diff --cached | Zeigt die gestageten Änderungen. |