Logo der Firma Zelantic, auf dem ein Polarfuchs zu sehen ist

Git Nutzung II

card image

Git Nutzung II

Es ist wieder #TechFriday! Das ist der dritte Post in der Reihe Git, viel Spaß beim Lesen.

Im letzten Blogeintrag wurden Einrichtung von Git und die grundlegenden Befehle behandelt. Heute geht es um die Anpassung der Ausgabe des Log Befehls und das Rückgängigmachen von Änderungen.

Anpassung des Log-Befehls:

Wie ich euch beim letzten Mal gezeigt habe, könnt ihr euch eure Commits mit dem log-Befehl anzeigen lassen. Es gibt diverse Anpassungsmöglichkeiten des Befehls, die ich euch im Folgenden vorstellen werde.

Verschönerung:

git log -p -2 Die Option -p steht für patch, d.h. zusätzlich zu den Commits werden die Änderungen angezeigt. Die Option -2 bedeutet, dass die letzten beiden Commits betrachtet werden sollen. Die Ausgabe sieht dann wie folgt aus:

commit e15ce8e7e093440a4ef0a12e291de255dbf20f92 (HEAD -> master)
Author: Hagen Hoppenstedt
Date: Wed Apr 22 15:01:42 2020 +0200

Initial commit for my first Repository!

diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/program.c b/program.c
new file mode 100644
index 0000000..e69de29

Eine weitere Möglichkeit ist die Option pretty. In dem Beispiel rufen wir pretty=oneline auf, d.h. alle Commits werden in einer Zeile angezeigt.
git log --pretty=oneline

Die Ausgabe sieht dann folgendermaßen aus:

e15ce8e7e093440a4ef0a12e291de255dbf20f92 (HEAD -> master) Initial commit for my first Repository!

Um die Ausgabe weiter zu individualisieren kann format gesetzt werden. %h bedeutet, dass ein abgekürzter Commit Hash angezeigt wird. %s bedeutet, dass der Commit Text angezeigt wird. Die Option --graph ist nützlich, wenn es mehrere Commits gibt. Die Commits werden in der Ausgabe grafisch dargestellt.
git log --pretty=format:"%h %s" --graph

Anpassung der Ausgabe:

Manchmal möchte man die Ausgabe weiter einschränken, vor allem bei Projekten mit vielen Commits. Im Beispiel suchen wir nur nach Commits in den letzten beiden Wochen, die von mir erstellt wurden und die die Funktion function beinhalten. Außerdem soll im Committext der String first Repository vorhanden sein.
git log --since=2.weeks -S function --author Hagen Hoppenstedt --grep first Repository

Es gibt noch weitere Möglichkeiten, den Log anzupassen. Für eine Komplettübersicht könnt ihr hier klicken.

Fehler rückgängig machen:

Wenn ihr versehentlich Commit erstellt habt oder diesen erweitern wollt mit hinzugekommen Daten, könnt ihr den Commit mit folgendem Befehl anpassen:
git commit --amend

Vergesst dabei nicht die geänderte Datei zu stagen, d.h. git add file aufrufen.

Für den Fall, dass ihr eine Datei bereits gestaged habt, könnt ihr die Datei wieder aus dem Staging-Bereich mit folgendem Befehl nehmen:
git reset HEAD filename

Wenn ihr eine Datei in einem Commit fälschlicherweise geändert habt und die Änderungen verwerfen wollt, geht dies mit diesem Befehl:
git checkout -- filename

Tipp: wenn ihr git status aufruft werden euch die Befehle bereits angezeigt.

Zusammenfassung:

In diesem Beitrag ging es um die Individualisierung des log-Befehls und das Rückgängigmachen bzw. Beheben von Fehlern. Nächste Woche wird das Arbeiten mit Remotes vorgestellt.