Wie verwende ich Git Log zum Formatieren des Commit-Verlaufs?



Git ist ein Tool, mit dem Sie den Quellcode Ihrer Anwendungen organisieren und verwalten können. Erfahren Sie alles über den Verlaufsbefehl git log format und dessen Verwendung.

In diesem Artikel werden einige erweiterte Optionen zum Formatieren und Drucken der Festschreibungsprotokolle erläutert, um die benötigten Informationen aus dem Verlauf Ihres Projektjournals abzurufen. Da wir schon wissen, Wenn Sie ein Tagebuch über die Änderungen führen, die an der Projekthistorie vorgenommen wurden, werden wir nun weitere Möglichkeiten untersuchen, wie der Befehl 'git log' hilfreich ist.

Erstens wechsle ich zum Zweig 'feature1', um eine bequeme und kürzere Historie zu erhalten.
Verwenden Sie die Befehle -





$cd myProj–Schalten Sie zum Git-Projekt um

$git checkout feature1–Springen Sie zum Zweig 'feature1'



1. Formatierung festschreiben

1.1 Drucken Sie den Ausgabeinhalt in einem bestimmten Format aus

Syntax: Git Log --pretty [=]

wo, kann einer von sein eine Linie, kurz, Mittel, voll, voller, Email, roh, und Format:
Wann = Teil wird weggelassen, standardmäßig Mittel.

1.1.1 –pretty = online

Hübsches Druck-Commit-Protokoll in einer einzigen Zeile
Befehl: Git-Protokoll --pretty = online
Formatiert die Ausgabe nacheinander:




Commit - Verlauf des Git-Protokollformats - Edureka

1.1.2 –schön = kurz

Format Commit-Ausgabe 'kurz' im Format:
Festschreiben (Referenzname)
Autor:



1.1.3 - hübsch = mittel

Befehl: Git Log - Pretty = Medium
Druck-Commit-Ausgabe im Medium-Format:
verpflichten
Autor ::
Datum:


1.1.4 –pretty = voll

Befehl: Git-Protokoll --pretty = voll
Die Ausgabe erfolgt im folgenden Format:
Festschreiben (Referenzname)
Autor:
Verpflichten:


1.1.5 –pretty = voller

Befehl: git log --pretty = voller
Festschreiben (Referenzname)
Autor:
AuthorDate ::
Verpflichten:
CommitDate:


1.1.6 –pretty = email

Befehl: Git-Protokoll --pretty = E-Mail
Protokollausgabe im E-Mail-Format drucken:
Von
Von:
Datum:
Gegenstand: [PATCH]


1.1.7 –pretty = raw

Befehl: Git-Protokoll --pretty = raw
Das Rohprotokoll-Ausgabeformat zeigt das gesamte Commit genau so an, wie es im Commit-Objekt gespeichert ist.
verpflichten
Baum
Elternteil
Autor
verpflichten

1.1.8 –Format :: Benutzerdefinierte Formatierung

Mit dem Format können Sie angeben, welche Informationen des Festschreibungsobjekts im Festschreibungsausgabeprotokoll gedruckt werden sollen
Betrachten wir die verschiedenen Platzhalter, die diese Option genau wie eine C-printf-Funktion mithilfe von Codefragmenten bietet:

Befehl: git log --pretty = format: '% h% ad | % s% d [% an] '--date = short
Ausgabeformat:
| [Autorenname]

% h = Verkürzte Hash-ID / sha1commit-IDs
% H. = lange sha-1 IDs
%zu = Erstellungsdatum
% s = Betreffzeile festschreiben
% d = Namen der Referenzzeiger (Zweig, Tag)
%ein = Autorenname
-Datum = kurz: Druckt nur das Datum und nicht die Uhrzeit in einem lesbaren Format

Wie wäre es nun damit, diese Ausgabe mithilfe von Farben benutzerfreundlicher zu gestalten?
Befehl:
Git-Protokoll --pretty = Format: '% C (gelb)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short


Einige andere Platzhalter, die im obigen Codefragment verwendet werden, sind:
% C (gelb) : Drehen Sie die folgende Zeichenfolge in Gelb
% Creset : Setzen Sie die folgende Zeichenfolge auf die Standardfarbe (weiß) zurück
% Cgreen : Ändern Sie die folgende Zeichenfolge in grün
%Ich vermute: Ändern Sie die folgende Zeichenfolge in rot
% Cblue: Machen Sie den Autorennamen blau

Sie müssen sich nicht jedes Mal den gesamten Befehl merken und schreiben, sondern nur einen Kurznamen als verwenden Git Alias Wie nachfolgend dargestellt:
Befehl:
git config --global alias.c-hist 'log --pretty = format:'% C (gelb)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short'

'C-hist' repräsentiert c maßgeschneidert- hist ory
Also, wie Sie bemerkt hätten, setze ich meine globale Git-Konfiguration Datei mit den Werten.

Wie schreibe ich Alert in Javascript

Um nun den Verlauf des aktuellen Zweigs zu überprüfen, müssen Sie nur den folgenden Befehl ausführen:
Befehl: gehe c-hist

1.2 –abbrev-commit: Verkürzen Sie die Hash-ID für das Git-Commit

Befehl: git log --abbrev-commit
Der vollständige hexadezimale Festschreibungsobjektname von 40 Byte wird auf Standard-7 Byte gekürzt.


Lassen Sie es uns mit dem--eine Linie‘Option für eine bequeme Ansicht, wie folgt:
Befehl: git log --abbrev-commit --oneline

Spannender ist, dass Sie die Bytelänge von sha-1-IDs auch mit der Option '–abbrev =' angeben können, wie unten gezeigt:
Befehl: git log --abbrev-commit --abbrev = 5 --oneline



Die hervorgehobenen sha-1-IDs werden eindeutig auf eine Größe von 5 Byte reduziert.

1.3 –no-abbrev-commit

Zeigen Sie den vollständigen hexadezimalen 40-Byte-Commit-Objektnamen an.
Dies negiert –Aabbrev-Commit und jene Optionen, die implizieren
es wie '-oneline'.
Befehl: git log --pretty = oneline --no-abbrev-commit



1.4 –relatives Datum

Befehl: Git-Protokoll - Relativdatum

Bitte beachten Sie, dass sich diese hervorgehobene Zeit in Bezug auf die Zeit ändern kann, zu der Sie den Befehl auf Ihrem System ausführen.

1,5 –Datum =

Sie können das Datum der Festschreibungsprotokolle auch in einer der folgenden Formatoptionen formatieren:

1.5.1 –Datum = relativ

Befehl ::git log --date = relative
Dies ist gleichbedeutend mit dem obigen Befehl „Git-Protokoll - Relativdatum”Und druckt die gleichen Commits.

1.5.2 –Datum = lokal

Befehl :: git log --date = local

1.5.3 –date = iso

Befehl: git log --date = iso

1.5.4 –date = isostrikt

Befehl: git log --date = iso-streng

1.5.5 –date = rfc

Befehl: git log --date = rfc

1.5.6 –Datum = kurz

Befehl: git log --date = short

1.5.7 –date = raw (zeigt das Datum in Sekunden an)

Befehl: git log --date = raw
Drucken Sie die Zeit als Sekunden seit dem Unix Epoc Zeit (1. Januar 1970) gefolgt von der Zeitzone.

1.5.8 –Datum = Mensch

Befehl: git log --date = human

1.5.9 –date = unix

Zeigt das Datum als an Unix Epoc (UTC) Zeit.
Befehl: git log --date = unix

1.6 - Eltern

Drucken Sie auch die Eltern jedes Commits im folgenden Format aus:
Befehl: Git Log - Eltern
Oneliner-Ausgabe Befehl: Git Log - Eltern - Online

Zu beachtende Punkte:
C366419 ist ein Merge Commit, hat also jeweils 2 Eltern: feeb30c und 4920adc
gleichfalls

1d67b50 ist ein Zusammenführungs-Commit, das aus dem Zusammenführen resultiert f2ff2e4 und abb694b
078f9f5 ist ein Zusammenführungs-Commit, das durch Zusammenführen erstellt wird 9a2412e und ab3a5e5
Wohingegen, 86792c6 ist das anfängliche Commit, daher kein Elternteil.

1,7 - Kinder

Drucken Sie auch die Kinder im Formular aus
Befehl: Git Log - Kinder - Online

Hinweis ::
006b9ce ist das neueste Commit, daher gibt es noch kein untergeordnetes Commit-Objekt. Die nächste Änderung, die Sie in diesem Zweig vornehmen und festschreiben, ist das untergeordnete Festschreibungsobjekt dieser neuesten sha-1-ID.

1,8 –graph

Zeichnen Sie eine textbasierte grafische Darstellung des Festschreibungsverlaufs vor den sha-1-IDs.
Befehl: Git Log - Grafik
Verbesserte Oneliner-Ausgabe: git log --graph --oneline


Auf diese Weise können Sie nachvollziehen, wann, wie und warum und andere Zweige in den aktuell ausgecheckten Zweig zusammengeführt wurden.

1.9 –show-linear-break

Befehl: git log --show-linear-break
Dies ist ein nützlicher Befehl, um eine Barriere zwischen zwei aufeinanderfolgenden Commits anzugeben, die nicht zu einem linearen Zweig gehören, dh den Commits, die von verschiedenen Zweigen stammen.


Vergleichen Sie die obige Ausgabe mit der Befehlsausgabe 'git log –graph', die deutlich zeigt, wie die Commits 'linear break' zusammengeführt wurden.

Bonus: Fassen Sie die Git-Log-Ausgabe zusammen: 'Git-Shortlog'

Das 'Git ShortlogDer Befehl kategorisiert die Festschreibungsprotokolle nach Autor und druckt eine Übersicht mit einer Zusammenfassung der von jedem Autor vorgenommenen Festschreibungen.
Befehl: Git Log Shortlog

Befehl :: Git Log Shortlog -s
-s steht für –summary, unterdrückt die Commit-Beschreibung und druckt einfach die Anzahl der Commits jedes Autors wie folgt aus:

Darüber hinaus können Sie die Ausgabe auch mit denselben Platzhaltern formatieren, wie unter „--pretty = Format' Möglichkeit
Versuchen Sie den Befehl: git shortlog --format = '% h | % s '

Daher müssen Sie zustimmen, dass diese Ausgabe sinnvoller ist, da sie die ID und die für jeden Autor zusammen mit der Gesamtzahl der Commits anzeigt.

Hinweis :: Es ist interessant festzustellen, dass Sie den Zweig, der ein bestimmtes Commit durchgeführt hat, sehr leicht finden können. Es lohnt sich, diese Diskussion in den kommenden Artikeln ausführlich aufzugreifen.

Damit sind wir damit fertigVerlauf des Git-ProtokollformatsBlog, ich hoffe du fandest es informativ.

In diesem Beitrag haben wir einige Formatierungstechniken kennengelernt, mit denen die Projektinformationen individueller und benutzerfreundlicher gedruckt werden. Sie sollten jetzt wissen, wie Sie die Parameter des Befehls 'git log' effektiv verwenden können, um alle Informationen, die Sie über den Quellcode benötigen, aus Ihrem festgeschriebenen Verlauf abzurufen. Damit sind wir am Ende dieses Artikels angelangt. Ich hoffe, Sie fanden ihn informativ.

Wenn Sie neugierig sind, mehr zu erfahren, können Sie dies überprüfen von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Edureka DevOps Certification Training-Kurs hilft den Lernenden, zu verstehen, was DevOps ist, und Fachwissen über verschiedene DevOps-Prozesse und -Tools wie Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack und GIT zu erwerben, um mehrere Schritte in SDLC zu automatisieren.

Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Artikels zum Thema 'Verlauf des Git-Protokollformats'. Wir werden uns dann bei Ihnen melden.