Wie man prüft, ob ein Git-Repository Commits enthält

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob ein Git-Repository über Commits verfügt. Wir werden zwei Hauptmethoden untersuchen: die Verwendung des Befehls git log, um die vollständige Commit-Historie anzuzeigen, und die Verwendung des Befehls git rev-list --count HEAD, um schnell die Anzahl der Commits zu erhalten.

Sie beginnen damit, git log zu verwenden, um die detaillierte Historie eines Repositorys mit bestehenden Commits anzuzeigen. Anschließend verwenden Sie git rev-list --count HEAD, um eine numerische Anzahl der Commits zu erhalten. Abschließend testen Sie diese Methoden an einem leeren Repository, um zu verstehen, wie sie sich verhalten, wenn keine Commits vorhanden sind.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/init -.-> lab-560086{{"Wie man prüft, ob ein Git-Repository Commits enthält"}} git/log -.-> lab-560086{{"Wie man prüft, ob ein Git-Repository Commits enthält"}} end

Ausführen von git log zur Prüfung der Historie

In diesem Schritt verwenden wir den Befehl git log, um die Commit-Historie unseres Git-Repositorys anzuzeigen. Dieser Befehl ist unerlässlich, um die Zeitlinie Ihres Projekts zu verstehen und die vorgenommenen Änderungen zu sehen.

Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis my-time-machine befinden. Wenn nicht, verwenden Sie den Befehl cd, um dorthin zu navigieren:

cd ~/project/my-time-machine

Führen Sie nun den Befehl git log aus:

git log

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

Diese Ausgabe zeigt die Details des Commits, den wir im vorherigen Lab erstellt haben. Jeder Eintrag im Log repräsentiert einen einzelnen Commit und zeigt Informationen wie den Commit-Hash (eine eindeutige Kennung), den Autor, das Datum und die Commit-Nachricht an.

Der Befehl git log ist Ihr Fenster in die Geschichte Ihres Projekts. Wenn Sie weitere Commits erstellen, wird jeder von ihnen zu diesem Log hinzugefügt und so eine chronologische Aufzeichnung aller Änderungen erstellt. Dies ist äußerst wertvoll, um den Fortschritt zu verfolgen, zu verstehen, wie sich Ihr Projekt entwickelt hat und sogar Probleme zu debuggen, indem Sie sehen, wann bestimmte Änderungen vorgenommen wurden.

Wenn Sie viele Commits haben, kann die Ausgabe von git log recht lang sein. Sie können q drücken, um die Log-Ansicht zu verlassen und zum Terminal-Prompt zurückzukehren.

Verwenden von git rev-list --count HEAD

In diesem Schritt lernen wir eine andere Möglichkeit, schnell zu sehen, wie viele Commits sich in unserem Repository befinden, indem wir den Befehl git rev-list --count HEAD verwenden. Dies ist eine kompaktere Methode, um nur die Anzahl der Commits zu erhalten, im Vergleich zu git log.

Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine befinden.

Führen Sie nun den folgenden Befehl aus:

git rev-list --count HEAD

Sie sollten als Ausgabe eine einzelne Zahl sehen:

1

Diese Zahl repräsentiert die Gesamtanzahl der Commits in Ihrem aktuellen Branch (HEAD bezieht sich auf die Spitze des aktuellen Branches, der in unserem Fall master ist). Da wir bisher nur einen Commit gemacht haben, lautet die Ausgabe 1.

Der Befehl git rev-list ist ein leistungsstarkes Werkzeug zum Auflisten von Commit-Objekten. In Kombination mit der Option --count gibt er Ihnen einfach die Gesamtanzahl der Commits, die von der angegebenen Referenz (in diesem Fall HEAD) aus erreichbar sind. Dies ist besonders nützlich, wenn Sie nur eine schnelle Anzahl der Sicherungspunkte in der Geschichte Ihres Projekts benötigen.

Während git log Ihnen detaillierte Informationen zu jedem Commit gibt, bietet git rev-list --count eine einfache, numerische Zusammenfassung der Länge der Projektgeschichte. Beide Befehle sind in verschiedenen Szenarien nützlich.

Testen eines leeren Repositorys

In diesem Schritt werden wir untersuchen, was passiert, wenn Sie git log und git rev-list --count HEAD in einem Git-Repository ausführen, das noch keine Commits enthält. Dies wird Ihnen helfen, die Ausgabe zu verstehen, die Sie im ersten Lab gesehen haben, als Sie Ihr Repository erstmals initialisiert haben.

Zunächst erstellen wir ein neues, leeres Verzeichnis und initialisieren darin ein Git-Repository. Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project befinden:

cd ~/project
mkdir empty-repo
cd empty-repo
git init

Sie sollten die Meldung sehen, die darauf hinweist, dass ein leeres Git-Repository initialisiert wurde:

Initialized empty Git repository in /home/labex/project/empty-repo/.git/

Lassen Sie uns nun git log in diesem leeren Repository ausführen:

git log

Sie werden eine Ausgabe ähnlich der folgenden sehen:

fatal: your current branch 'master' does not have any commits yet

Diese Meldung sagt Ihnen genau, was passiert: Es gibt keine Commits im aktuellen Branch (master). git log benötigt Commits, um eine Historie anzuzeigen, daher meldet es, dass es nichts anzuzeigen gibt.

Als Nächstes probieren wir git rev-list --count HEAD:

git rev-list --count HEAD

Diesmal wird die Ausgabe sein:

0

Das ergibt Sinn! Da es keine Commits gibt, ist die Anzahl der von HEAD aus erreichbaren Commits null.

Der Vergleich der Ausgabe dieser Befehle in einem leeren Repository mit unserem my-time-machine-Repository (das einen Commit enthält) hilft Ihnen, Ihr Verständnis davon zu festigen, was diese Befehle tun. git log zeigt die Details der Commits an, während git rev-list --count Ihnen eine einfache Anzahl gibt. Beide Befehle spiegeln genau den Zustand der Repository-Historie wider.

Sie können nun das Verzeichnis empty-repo entfernen, da wir es für die nächsten Schritte nicht mehr benötigen:

cd ~/project
rm -rf empty-repo

Zusammenfassung

In diesem Lab haben wir gelernt, wie man prüft, ob ein Git-Repository über Commits verfügt. Zunächst haben wir den Befehl git log verwendet, um die detaillierte Commit-Historie anzuzeigen und dessen Ausgabestruktur zu verstehen, einschließlich Commit-Hash, Autor, Datum und Nachricht. Dieser Befehl liefert eine chronologische Aufzeichnung der Projektänderungen. Anschließend haben wir eine kompaktere Methode mit git rev-list --count HEAD untersucht, die direkt die Gesamtanzahl der Commits im aktuellen Branch ausgibt. Schließlich haben wir diese Methoden an einem leeren Repository getestet, um die Ausgabe zu beobachten, wenn keine Commits vorhanden sind, und gezeigt, wie man ein Repository ohne Historie identifiziert.