Git
Chapters ▾ 2nd Edition

2.7 Git Basics - Git aliassen

Git aliassen

Voordat we dit hoofdstuk over de basis van Git afsluiten, is er nog een kleine tip dat jouw Git belevenis simpeler, eenvoudiger en meer eigen kan maken: aliassen. We zullen hier niet meer aan refereren of later in het boek aannemen dat je ze gebruikt hebt, maar we vinden dat we je moeten vertellen hoe ze werken.

Git zal niet automatisch commando’s afleiden uit wat je gedeeltelijk intypt. Als je niet de hele tekst van elke Git commando wilt intypen, kun je gemakkelijk een alias voor elke commando configureren door git config te gebruiken. Hier zijn een aantal voorbeelden die je misschien wilt instellen:

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

Dit betekent dat je, bijvoorbeeld, in plaats van git commit je alleen git ci hoeft in te typen. Als je verder gaat in het gebruik van Git, zul je waarschijnlijk andere commando’s ook vaker gaan gebruiken; in dat geval: schroom niet om nieuwe aliassen te maken.

Deze techniek kan ook makkelijk zijn om commando’s te maken waarvan je vindt dat ze hadden moeten bestaan. Bijvoorbeeld, om het bruikbaarheidsprobleem wat je met het unstagen van een bestand tegenkwam op te lossen, kan je jouw eigen unstage alias aan Git toevoegen:

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

Dit maakt de volgende twee commando’s gelijkwaardig:

$ git unstage fileA
$ git reset HEAD fileA

Het lijkt wat duidelijker te worden. Het is ook gebruikelijk om een last commando toe te voegen:

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

Op deze manier kun je de laatste commit makkelijk zien:

$ 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>

Zoals je kunt zien, vervangt Git eenvoudigweg het nieuwe commando met hetgeen waarvoor je het gealiassed hebt. Maar, misschien wil je een extern commando uitvoeren, in plaats van een Git subcommando. In dat geval begin je het commando met een ! karakter. Dit is handig als je je eigen applicaties maakt die met een Git repository werken. We kunnen dit demonstreren door git visual een gitk te laten uitvoeren:

$ git config --global alias.visual '!gitk'