Montag, 5. August 2013

Git Branches auf dem Terminal

Es passiert ja immer wieder mal, dass man auf irgendeinem Rechner, der keine grafische Oberfläche angeschlossen hat, in die History eines Repositories reingucken muss. Das Werkzeug dazu ist natürlich git log:

> git log

commit 123...789

Author: John Doe <john.doe@inter.net>
Date:  Fri Feb 1 13:23:03 2013 +0100

    Add nice stuff

    Today I decided to add nice stuff to this repository.
...

Auf die Art und Weise bekommt man natürlich keinen Überblick über das Repository, das ist ja viel zu ausführlich. Aber git kennt einen Einzeiler-Modus, der praktischerweise gleich so heißt:

> git log --oneline
1234567 Add nice stuff
...

Als History kreuz und quer über alle Branches ist das dann aber etwas unübersichtlich. ASCII-Art sei Dank gibt's auch auch dem Terminal Grafiken:

> git log --graph --oneline
* 1234567 Add nice stuff
...

Schon besser. Wenn wir alle Branches sehen wollen, nicht nur den aktuellen Branch, gibt's dazu noch ein "--all":

> git log --graph --oneline --all
* 1234567 Add nice stuff
...

Ok, der Unterschied ist hier nicht gerade deutlich, aber das sollte man einfach mal mit einem echten Repository probieren. Wenn man das tut, stellt man aber fest: Welcher Commit auf welchen Branch ist, kann man einfach nicht sehen. Das kann schon mal wichtig sein, also lassen wir uns das einfach noch mit anzeigen:

> git log --graph --oneline --decorate=short --all
* 1234567 (HEAD, origin/master, master) Add nice stuff
...

Das ist schon fast perfekt. Damit wir das aber nicht jedes Mal tippen müssen, legen wir dafür einfach noch einen Alias an.

> git config --global alias.lg 'log --graph --oneline --decorate=short'
> git lg --all
* 1234567 (HEAD, origin/master, master) Add nice stuff
...

Den Alias haben wir global für den Nutzer angelegt, damit funktioniert er in allen Repos des Nutzers. Das letzte '--all' habe ich im Beispiel weggelassen, damit mal auch mal einfach nur die Historie des aktuellen Branches sehen kann. Noch schöner wird's übrigens, wenn man die Farbe einschaltet.

So einfach können die kleinen Freuden sein.

Keine Kommentare: