Commits in einem bestimmten Datumsbereich anzeigen

GitGitBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

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

Einführung

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/clone("Clone Repo") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/clone -.-> lab-12774{{"Commits in einem bestimmten Datumsbereich anzeigen"}} git/log -.-> lab-12774{{"Commits in einem bestimmten Datumsbereich anzeigen"}} end

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:

  1. Öffnen Sie Ihr Terminal in der LabEx-VM.
terminal
  1. 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.
  1. 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:

  • --since oder --after: Zeigt Commits, die neuer als ein bestimmtes Datum sind
  • --until oder --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:

  1. 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
  1. 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 --since und --until filtern
  • Wie Sie relative Daten wie "12 weeks ago" (vor 12 Wochen) für eine flexiblere Filterung nutzen
  • Wie Sie die Ausgabe von git log mit 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.