Der Vorteil eines Versionskontrollsystems besteht darin, dass es Änderungen aufzeichnet. Mithilfe dieser Aufzeichnungen können wir Daten wie Commits, das Erkennen von Fehlern und Aktualisierungen abrufen. Aber all diese Geschichte wird nutzlos sein, wenn wir uns nicht darin zurechtfinden. An dieser Stelle benötigen wir den Befehl git log.
Git Log ist ein Hilfsprogramm zum Überprüfen und Lesen eines Verlaufs aller Vorgänge in einem Repository. Mit einem Git-Protokoll können mehrere Optionen verwendet werden, um den Verlauf spezifischer zu gestalten.
Im Allgemeinen ist das Git-Protokoll eine Aufzeichnung von Commits. Ein Git-Protokoll enthält die folgenden Daten:
Wie beende ich den Befehl „git log“?
Es kann vorkommen, dass Sie den Befehl „git log“ ausführen und dort stecken bleiben. Sie möchten tippen oder zum Bashen zurückkehren, können es aber nicht. Wenn Sie auf klicken Eingeben Mit der Taste gelangen Sie zum älteren Befehl bis zum Ende-Flag.
Die Lösung für dieses Problem ist Drücken Sie Die q (Q für beenden) . Dadurch werden Sie aus der Situation entlassen und kehren zur Befehlszeile zurück. Jetzt können Sie jeden der Befehle ausführen.
Grundlegendes Git-Protokoll
Der Git-Log-Befehl ist einer der gebräuchlichsten Git-Befehle. Es ist der nützlichste Befehl für Git. Jedes Mal, wenn Sie den Verlauf überprüfen müssen, müssen Sie den Befehl git log verwenden. Der grundlegende Befehl git log zeigt die neuesten Commits und den Status des Heads an. Es wird verwendet als:
$ git log
Der obige Befehl zeigt die letzten Commits an. Betrachten Sie die folgende Ausgabe:
Der obige Befehl listet alle letzten Commits auf. Jeder Commit enthält eine eindeutige Sha-ID, die vom SHA-Algorithmus generiert wird. Es enthält außerdem Datum, Uhrzeit, Autor und einige zusätzliche Details.
Wir können über die Befehlszeile einige Aktionen wie Scrollen, Springen, Bewegen und Beenden ausführen. Um in der Befehlszeile zu scrollen, drücken Sie k, um sich nach oben zu bewegen, j, um sich nach unten zu bewegen, die Leertaste, um eine ganze Seite nach unten zu scrollen, um eine Seite nach oben zu scrollen, und q, um die Befehlszeile zu verlassen.
<Git Log Oneline
Die Option „oneline“ wird verwendet, um die Ausgabe als einen Commit pro Zeile anzuzeigen. Außerdem wird die Ausgabe in Kürze angezeigt, z. B. die ersten sieben Zeichen des Commit-SHA und die Commit-Nachricht.
Es wird wie folgt verwendet:
$ git log --oneline
Normalerweise können wir also sagen, dass das Flag --oneline dazu führt, dass im Git-Protokoll Folgendes angezeigt wird:
- ein Commit pro Zeile
- die ersten sieben Zeichen des SHA
- die Commit-Nachricht
Betrachten Sie die folgende Ausgabe:
Wie wir der obigen Ausgabe genauer entnehmen können, wird jedes Commit nur in einer Zeile mit einer siebenstelligen SHA-Nummer und einer Commit-Nachricht angegeben.
Git-Protokollstatistik
Der Befehl log zeigt die geänderten Dateien an. Außerdem werden die Anzahl der Zeilen und eine Zusammenfassungszeile der Gesamtzahl der aktualisierten Datensätze angezeigt.
Im Allgemeinen können wir sagen, dass die Stat-Option zur Anzeige verwendet wird
svm
- die geänderten Dateien,
- Die Anzahl der Zeilen, die hinzugefügt oder entfernt wurden
- Eine Zusammenfassungszeile der Gesamtzahl der geänderten Datensätze
- Die Zeilen, die hinzugefügt oder entfernt wurden.
Es wird wie folgt verwendet:
$ git log --stat
Der obige Befehl zeigt die geänderten Dateien an. Betrachten Sie die folgende Ausgabe:
Aus der obigen Ausgabe können wir ersehen, dass es sich bei allen aufgelisteten Commits um Änderungen im Repository handelt.
Git Log P oder Patch
Der Befehl git log patch zeigt die geänderten Dateien an. Außerdem wird die Position der hinzugefügten, entfernten und aktualisierten Zeilen angezeigt.
Es wird verwendet als:
$ git log --patch
Oder
$ git log -p
Im Allgemeinen können wir sagen, dass das Flag --patch verwendet wird, um Folgendes anzuzeigen:
- Geänderte Dateien
- Die Position der Zeilen, die Sie hinzugefügt oder entfernt haben
- Spezifische Änderungen, die vorgenommen wurden.
Betrachten Sie die folgende Ausgabe:
Die obige Ausgabe zeigt die geänderten Dateien mit der Position der hinzugefügten oder entfernten Zeilen an.
Git-Protokolldiagramm
Mit dem Git-Log-Befehl können Sie Ihr Git-Log als Diagramm anzeigen. Um die Commits in Form eines Diagramms aufzulisten, führen Sie den Befehl git log mit der Option --graph aus. Es läuft wie folgt ab:
$ git log --graph
Um die Ausgabe spezifischer zu gestalten, können Sie diesen Befehl mit der Option --oneline kombinieren. Es wird wie folgt funktionieren:
$ git log --graph --oneline
Filtern des Commit-Verlaufs
Wir können die Ausgabe nach unseren Bedürfnissen filtern. Es ist eine einzigartige Funktion von Git. Wir können viele Filter wie Menge, Datum, Autor und mehr auf die Ausgabe anwenden. Jeder Filter hat seine Spezifikationen. Sie können zur Implementierung einiger Navigationsoperationen in der Ausgabe verwendet werden.
Lassen Sie uns jeden dieser Filter im Detail verstehen.
Javafx auf Eclipse
Nach Betrag:
Wir können die Anzahl der Ausgabe-Commits begrenzen, indem wir den Befehl git log verwenden. Es ist der spezifischste Befehl. Dieser Befehl beseitigt die Komplexität, wenn Sie an weniger Commits interessiert sind.
Um die Ausgabe des Git-Protokolls zu begrenzen, einschließlich der Option -. Wenn wir nur die letzten drei Commits wünschen, können wir das Argument -3 im Befehl git log übergeben. Betrachten Sie die folgende Ausgabe:
Wie wir der obigen Ausgabe entnehmen können, können wir die Ausgabe von Git Log begrenzen.
Nach Datum und Uhrzeit:
Wir können die Ausgabe nach Datum und Uhrzeit filtern. Wir müssen passieren --nach oder -Vor Argument zur Angabe des Datums. Diese beiden Argumente akzeptieren verschiedene Datumsformate. Es läuft wie folgt ab:
$ git log --after='yy-mm-dd'
Der obige Befehl zeigt alle Commits an, die nach dem angegebenen Datum vorgenommen wurden. Betrachten Sie die folgende Ausgabe:
Der obige Befehl listet alle Commits nach dem 01.11.2019 auf.
Wir können auch die entsprechende Referenzaussage wie „gestern“, „vor einer Woche“, „vor 21 Tagen“ und mehr übergeben. Es wird wie folgt ausgeführt:
git log --after='21 days ago'
Der obige Befehl zeigt die Commits an, die vor 21 Tagen durchgeführt wurden. Betrachten Sie die folgende Ausgabe:
Wir können auch die Commits zwischen zwei Daten verfolgen. Um die Commits zu verfolgen, die zwischen zwei Daten erstellt wurden, übergeben Sie eine Anweisungsreferenz --Vor Und --nach das Datum. Angenommen, wir möchten die Commits zwischen dem 01.11.2019 und dem 08.11.2019 verfolgen. Wir werden den Befehl wie folgt ausführen:
$ git log --after='2019-11-01' --before='2019-11-08 '
Der obige Befehl zeigt die zwischen den Daten vorgenommenen Commits an. Betrachten Sie die folgende Ausgabe:
Die obige Ausgabe zeigt die Commits zwischen dem angegebenen Zeitraum an. Wir können --since und --until anstelle von --after und --before verwenden. Weil es sich jeweils um Synonyme handelt.
numpy einzigartig
Nach Autor:
Wir können die Commits nach einem bestimmten Benutzer filtern. Angenommen, wir möchten die Commits auflisten, die nur von einem bestimmten Teammitglied vorgenommen wurden. Wir können das Flag -author verwenden, um die Commits nach Autorennamen zu filtern. Dieser Befehl verwendet einen regulären Ausdruck und gibt die Liste der von Autoren vorgenommenen Commits zurück, die diesem Muster entsprechen. Anstelle des Musters können Sie auch den genauen Namen verwenden. Dieser Befehl wird wie folgt ausgeführt:
$ git log --author='Author name'
Der obige Befehl zeigt alle vom angegebenen Autor vorgenommenen Commits an. Betrachten Sie die folgende Ausgabe:
Aus der obigen Ausgabe können wir ersehen, dass alle Commits vom Autor stammen Ich bin Dwivedi1 sind aufgeführt.
Wir können eine Zeichenfolge anstelle eines regulären Ausdrucks oder eines genauen Namens verwenden. Betrachten Sie die folgende Aussage:
$ git log --author='Stephen'
Die obige Anweisung zeigt alle Commits an, deren Autor den Namen Stephen enthält. Der Name des Autors muss nicht exakt übereinstimmen; es enthält lediglich die angegebene Phrase.
Wie wir wissen, ist die E-Mail-Adresse des Autors auch mit dem Namen des Autors verknüpft, sodass wir die E-Mail-Adresse des Autors als Muster oder genaue Suche verwenden können. Angenommen, wir möchten die Commits der Autoren verfolgen, deren E-Mail-Dienst Google ist. Dazu können wir Platzhalter wie „@gmail.com“ verwenden. Betrachten Sie die folgende Aussage:
$ git log -author='@gmail.com'
Der obige Befehl zeigt die Commits der Autoren an, wie im Muster angegeben. Betrachten Sie die folgende Ausgabe:
Per Commit-Nachricht:
Um die Commits nach der Commit-Nachricht zu filtern. Wir können die grep-Option verwenden und sie funktioniert als Autorenoption.
Es läuft wie folgt ab:
$ git log --grep=' Commit message.'
Anstelle einer vollständigen Nachricht können wir auch die Kurzform einer Commit-Nachricht verwenden. Betrachten Sie die folgende Ausgabe.
Die obige Ausgabe zeigt alle Commits an, deren Commit-Nachricht das Wort „Commit“ enthält.
Es stehen viele weitere Filteroptionen zur Verfügung, z. B. können wir nach Dateiname, Inhalt und mehr filtern.