Git
Chapters ▾ 2nd Edition

2.7 Git Grundlagen - Git Aliases

Git Aliases

Bevor wir dieses Kapitel über Basic Git abschließen, gibt es noch einen kurzen Tipp, der deine Arbeit mit Git einfacher, leichter und verständlicher machen kann: Aliase. Der Klarheit halber werden wir sie nirgendwo anders in diesem Buch verwenden, aber wenn du Git in Zukunft regelmäßig verwendest, dann sind Aliase etwas, das du kennen solltest.

Git erkennt nicht automatisch deinen abgesetzten Befehl, wenn du ihn nur teilweise eingibst. Wenn du nicht den gesamten Text jedes Git-Befehls eingeben möchtest, könntest du mit Hilfe von git config einfach ein Alias für jeden Befehl einrichten. Hier sind ein paar Beispiele, die du einrichten sollten:

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

Das bedeutet, dass du z.B. anstelle von git commit einfach git ci eingeben kannst. Je mehr du Git verwendest, wirst du vermutlich noch andere Befehle häufiger verwenden; scheue dich nicht, neue Aliase zu erstellen.

Diese Technik kann auch sehr nützlich sein, um Befehle zu erstellen, von denen du glaubst, dass sie vorhanden sein sollten. Um beispielsweise ein Usability-Problem zu beheben, auf das du beim Entfernen einer Datei aus der Staging-Area stößt, kannst du Git deinen eigenen Unstage-Alias hinzufügen:

$ git config --global alias.unstage 'reset HEAD --'

Dadurch sind die folgenden beiden Befehle gleichwertig:

$ git unstage fileA
$ git reset HEAD -- fileA

Das macht denn Sinn des aliasing hoffentlich klarer. Es ist auch üblich, einen last (dt. letzten) Befehl hinzuzufügen, so wie hier:

$ git config --global alias.last 'log -1 HEAD'

Auf diese Weise kannst du den letzten Commit leicht auffinden:

$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date:   Tue Aug 26 19:48:51 2008 +0800

    Test for current head

    Signed-off-by: Scott Chacon <schacon@example.com>

Wie du siehst, ersetzt Git den neuen Befehl einfach durch den Alias, den du ihn geben hast. Vielleicht möchtest du jedoch eher einen externen Befehl als einen Git-Subbefehl ausführen. In diesem Fall starte den Befehl mit einem Ausrufezeichen (!). Das ist hilfreich, wenn du deine eigenen Tools schreibst, die mit einem Git-Repository arbeiten. Hier ein Beispiel, in dem wir git visual mit gitk aliasen:

$ git config --global alias.visual '!gitk'
scroll-to-top