Einführung
🧑💻 Neulinge in Git oder LabEx? Wir empfehlen, mit dem Kurs Quick Start with Git zu beginnen.
Git ist ein leistungsstarkes Versionskontrollsystem, das es Entwicklern ermöglicht, die Änderungen an ihrer Codebasis zu verfolgen. Eine der nützlichsten Funktionen von Git ist die Möglichkeit, Commits in einem bestimmten Datumsbereich anzuzeigen. Dies kann hilfreich sein, wenn Sie versuchen, einen Fehler zu finden oder die Geschichte eines Projekts zu verstehen.
Klonen des Git-Repositorys
Um die Fähigkeiten von Git zur Datumsbereichsfilterung zu erkunden, benötigen wir zunächst ein Git-Repository, mit dem wir arbeiten können. Wir werden das git-playground-Repository verwenden, das von LabEx zur Verfügung gestellt wird.
Beginnen wir damit, das Repository zu klonen:
- Öffnen Sie Ihr Terminal in der LabEx-VM.

- Führen Sie den folgenden Befehl aus, um das Repository zu klonen:
git clone https://github.com/labex-labs/git-playground
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Cloning into 'git-playground'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (8/8), done.
- Navigieren Sie in das Verzeichnis des Repositorys:
cd git-playground
Jetzt, da wir das Repository auf unserem lokalen Rechner haben, können wir mit der Erkundung der Commit-Historie beginnen.
Erkundung des grundlegenden git log-Befehls
Jetzt, da wir das Repository geklont haben, lernen wir, wie man die Commit-Historie mit dem git log-Befehl anzeigt.
Der git log-Befehl zeigt eine Liste aller Commits im Repository an, beginnend mit dem neuesten. Jeder Commit-Eintrag enthält:
- Einen eindeutigen Commit-Hash (Bezeichner)
- Autorinformationen
- Datum und Uhrzeit des Commits
- Commit-Nachricht
Lassen Sie uns die grundlegende Commit-Historie anzeigen:
git log
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
commit d22f46ba8c2d4e07d773c5126e9c803933eb5898 (HEAD -> master, origin/master, origin/feature-branch, origin/HEAD)
Author: Hang <huhuhang@users.noreply.github.com>
Date: Wed Apr 26 14:16:25 2023 +0800
Added file2.txt
commit cf80005e40a3c661eb212fcea5fad06f8283f08f
Author: Hang <huhuhang@users.noreply.github.com>
Date: Wed Apr 26 14:16:25 2023 +0800
Added file1.txt
commit b00b9374a7c549d1af111aa777fdcc868d8a2a01
Author: Hang <huhuhang@gmail.com>
Date: Wed Apr 26 14:16:00 2023 +0800
Initial commit
Wenn die Ausgabe lang ist, können Sie sie wie folgt durchsuchen:
- Drücken Sie
Leertaste, um vorwärts zu blättern. - Drücken Sie
b, um rückwärts zu blättern. - Drücken Sie
q, um die Log-Ansicht zu verlassen.
Beachten Sie, dass jeder Commit einen eindeutigen Bezeichner (die lange hexadezimale Zeichenkette), die Informationen des Autors, das Datum und die Uhrzeit des Commits sowie eine Nachricht enthält, die beschreibt, welche Änderungen vorgenommen wurden.
Anzeigen von Commits in einem bestimmten Datumsbereich
Jetzt lernen wir, wie man Commits anhand bestimmter Daten filtert. Git bietet zwei nützliche Optionen für diesen Zweck:
--sinceoder--after: Zeigt Commits, die neuer als ein bestimmtes Datum sind--untiloder--before: Zeigt Commits, die älter als ein bestimmtes Datum sind
Wenn wir diese Optionen kombinieren, können wir Commits innerhalb eines bestimmten Datumsbereichs anzeigen.
Lassen Sie uns alle Commits anzeigen, die zwischen dem 25. April 2023 und dem 27. April 2023 vorgenommen wurden:
git log --since='Apr 25 2023' --until='Apr 27 2023'
Dieser Befehl zeigt alle Commits an, die zwischen dem 25. und dem 27. April 2023 vorgenommen wurden. Die Ausgabe sollte wie folgt aussehen:
commit d22f46ba8c2d4e07d773c5126e9c803933eb5898 (HEAD -> master, origin/master, origin/feature-branch, origin/HEAD)
Author: Hang <huhuhang@users.noreply.github.com>
Date: Wed Apr 26 14:16:25 2023 +0800
Added file2.txt
commit cf80005e40a3c661eb212fcea5fad06f8283f08f
Author: Hang <huhuhang@users.noreply.github.com>
Date: Wed Apr 26 14:16:25 2023 +0800
Added file1.txt
commit b00b9374a7c549d1af111aa777fdcc868d8a2a01
Author: Hang <huhuhang@gmail.com>
Date: Wed Apr 26 14:16:00 2023 +0800
Initial commit
Git akzeptiert viele Datumsformate, darunter:
"YYYY-MM-DD"(z.B.2023-04-25)"Month DD YYYY"(z.B.Apr 25 2023)"DD Month YYYY"(z.B.25 Apr 2023)
Probieren Sie ein anderes Datumsformat aus, um zu sehen, ob es Commits in einem anderen Bereich gibt:
git log --since='2023-04-20' --until='2023-04-24'
Dieser Befehl gibt möglicherweise keine Ergebnisse zurück, wenn es in diesem Zeitraum keine Commits gab. Das ist völlig normal.
Verwenden von relativen Daten und Formatierungsoptionen
Git unterstützt auch relative Daten, was sehr praktisch ist, um schnell die jüngste Aktivität anzuzeigen.
Lassen Sie uns alle Commits der letzten 12 Wochen anzeigen:
git log --since='12 weeks ago'
Je nachdem, wann Sie diesen Befehl ausführen, sehen Sie möglicherweise alle Commits oder nur einige von ihnen, wenn sie in diesen Zeitraum fallen.
Andere nützliche relative Datumsformate sind:
"X days ago"(vor X Tagen)"X months ago"(vor X Monaten)"yesterday"(gestern)"last week"(letzte Woche)
Lassen Sie uns versuchen, die Commits des letzten Jahres anzuzeigen:
git log --since='1 year ago'
Dieser Befehl zeigt alle Commits an, die im letzten Jahr vorgenommen wurden.
Zusätzliche Formatierungsoptionen
git log bietet verschiedene Formatierungsoptionen, um die Ausgabe anzupassen. Hier sind einige nützliche:
- Um ein kompakteres Log anzuzeigen, bei dem jeder Commit in einer einzigen Zeile steht:
git log --oneline --since='Apr 25 2023' --until='Apr 27 2023'
Die Ausgabe sieht wie folgt aus:
d22f46b (HEAD -> master, origin/master, origin/feature-branch, origin/HEAD) Added file2.txt
cf80005 Added file1.txt
b00b937 Initial commit
- Um die Dateien anzuzeigen, die in jedem Commit geändert wurden:
git log --name-status --since='Apr 25 2023' --until='Apr 27 2023'
Dieser Befehl zeigt den Status der Dateien an, die in jedem Commit geändert wurden, was hilfreich sein kann, um zu verstehen, was geändert wurde.
Diese Formatierungsoptionen können mit Datumsfiltern kombiniert werden, um leistungsstarke Abfragen zu erstellen, die Ihnen helfen, die Historie eines Projekts effektiver zu verstehen.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie Commits in einem bestimmten Datumsbereich mit Git anzeigen können. Sie haben folgendes kennengelernt:
- Wie Sie ein Git-Repository auf Ihren lokalen Rechner klonen
- Wie Sie den grundlegenden
git log-Befehl verwenden, um die Commit-Historie anzuzeigen - Wie Sie Commits anhand bestimmter Datumsbereiche mithilfe der Optionen
--sinceund--untilfiltern - Wie Sie relative Daten wie "12 weeks ago" (vor 12 Wochen) für eine flexiblere Filterung nutzen
- Wie Sie die Ausgabe von
git logmit Formatierungsoptionen anpassen
Diese Fähigkeiten sind unerlässlich, um die Projektgeschichte zu verstehen, Bugs aufzuspüren und den Entwicklungszeitraum eines Codebases zu überprüfen. Wenn Sie weiterhin mit Git arbeiten, werden diese Filtertechniken Ihnen helfen, auch in großen Repositories problemlos zu navigieren.