Zum Inhalt springen

git log

gitlog

Definition

Der git log-Befehl zeigt festgeschriebene Snapshots. Er wird zum Auflisten und Filtern des Projektverlaufs sowie zum Suchen nach bestimmten Änderungen verwendet. Im Gegensatz zu git status, das das Arbeitsverzeichnis und die Staging-Area überwacht, funktioniert git log nur mit dem festgeschriebenen Verlauf.

Verwendung

Der git log-Befehl ist ein Werkzeug zur Untersuchung des Repository-Verlaufs und zum Auffinden einer bestimmten Projektversion. Die Log-Ausgabe kann unterschiedlich angepasst werden, vom Filtern von Commits bis zur Anzeige in einem vollständig benutzerdefinierten Format. Hier ist eine Liste der am häufigsten verwendeten Konfigurationen von git log:

git logBeschreibung
git logVoreingestellte Formatierung, zeigt den gesamten Commit-Verlauf. Leertaste zum Scrollen, q zum Beenden, falls die Log-Ausgabe mehrere Bildschirme einnimmt.
git log -n <limit>Begrenzt die Anzahl der Commits. Beispiel: git log -n 2 zeigt nur 2 Commits an.
git log --onelineFügt jeden Commit in eine einzelne Zeile, was sich für einen Überblick über die Projektverlauf eignet.
git log --statEnthält neben den git log-Informationen die geänderten Dateien sowie die Anzahl der hinzugefügten oder gelöschten Zeilen.
git log -pZeigt den Patch für jeden Commit sowie den vollständigen Diff an.
git log --author="<pattern>"Sucht nach Commits eines angegebenen Autors. Das Argument <pattern> kann eine Zeichenkette oder ein Regex sein.
git log --grep="<pattern>"Sucht nach Commits mit einer Commit-Nachricht. Das Argument <pattern> kann eine Zeichenkette oder ein Regex sein.
git log <since>..<until>Zeigt nur Commits an, die zwischen den Argumenten <since> und <until> liegen. Beide können entweder eine Commit-ID, ein Branch-Name, HEAD oder eine andere Art von Versionsreferenz sein.
git log <file>Zeigt die Commits an, die die angegebene Datei enthalten. Dies erleichtert die Anzeige der Historie der Datei.
git log --graph --decorate --onelineDie Option --graph zeichnet einen textbasierten Graphen der Commits auf der linken Seite der Commit-Nachrichten. Die Option --decorate fügt die Namen der Branches oder Tags der angezeigten Commits hinzu. Die Option --oneline zeigt die Commit-Informationen in einer einzelnen Zeile an, was das schnelle Durchsuchen der Commits erleichtert.
git log --since=<date>Zeigt Commits an, die neuer als ein bestimmtes Datum sind.
git log --until=<date>Zeigt Commits an, die älter als ein bestimmtes Datum sind.
git log --allZeigt Commits aus allen Branches im Repository an.

Erläuterung

Alle oben genannten Optionen können zu folgendem Befehl kombiniert werden:

git log

bash
git log --author="Bob Smith" -p w3docs.txt

Das angegebene Beispiel zeigt den vollständigen Diff aller Änderungen, die der Autor an der Datei w3docs.txt vorgenommen hat.

Die ..-Syntax wird zum Vergleichen von Branches verwendet:

git log

bash
git log --oneline master..some-feature

Dieses Beispiel zeigt eine kurze Übersicht aller Commits, die sich in some-feature befinden, aber nicht in master.

Praxis

Welche Funktionen und Optionen hat der Befehl 'git log'?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.