Liste der Stash-Einträge in Git anzeigen
In einer Entwicklungsumgebung müssen wir oft die Arbeit unterbrechen und uns auf etwas anderes konzentrieren. Daher müssen wir möglicherweise unsere aktuelle Arbeit vorerst speichern und uns auf die andere Arbeit konzentrieren. Wir möchten später unsere ursprüngliche Arbeit wieder aufnehmen.
Die Stash-Funktion von Git, die durch den Befehl git stash
bereitgestellt wird, ermöglicht es uns, unsere Änderungen für die anstehende Arbeit vorübergehend zu speichern. Es wird uns ermöglichen, unsere Arbeit später wieder aufzunehmen, indem wir es aus dem temporären Speicher abrufen.
Wir können diese Operation der vorübergehenden Einsparung von Arbeit viele Male durchführen. Wir möchten daher die Liste solcher Stash-Einträge und deren Inhalt anzeigen. Der Befehl git stash
bietet uns Optionen zum Durchsuchen der Liste der Stash-Einträge.
In diesem Tutorial erfahren Sie, wie Sie die Liste der Stash-Einträge in Git anzeigen. Wir werden dies nun an einem Beispiel veranschaulichen.
Anzeigen der Liste der Stash-Einträge in Git
Mit dem Befehl git stash
können wir den aktuellen Zustand des Arbeitsverzeichnisses des Projekt-Repositorys aufzeichnen. Es ermöglicht uns auch, den aktuellen Status des Index zu speichern.
Der Befehl git stash
speichert lokale Änderungen und stellt das Arbeitsverzeichnis wieder her, damit es mit dem HEAD
-Commit übereinstimmt. Wir können diesen Vorgang des Zurückstellens der Änderungen in der Arbeitskopie viele Male durchführen.
Nachdem wir das Stashing viele Male durchgeführt haben, haben wir nun eine Liste von Stash-Einträgen im Git-Repository unseres Projekts. Wir können die Liste der Stash-Einträge mit dem Befehl git stash list
anzeigen.
Der letzte von uns erstellte Stash-Eintrag wird in refs/stash
gespeichert. Die älteren Stashes befinden sich im reflog
dieser Referenz. Der zuletzt erstellte Stash-Eintrag heißt stash@{0}
. Der davor heißt stash@{1}
und so weiter.
Auf die Stashes kann durch Angabe des Stashindexes verwiesen werden. Beispielsweise entspricht die ganze Zahl n
dem Wert stash@{n}
.
Nachdem wir ein paar Stash-Einträge erstellt haben, können wir sie so anzeigen.
$ git stash list
stash@{0}: WIP on main: b14f387 some work
stash@{1}: WIP on main: b14f387 some other work
stash@{2}: WIP on main: b14f387 some older work
Wie oben gezeigt, können wir die Liste der drei Stash-Einträge im Hauptzweig unseres Git-Repositorys sehen. Wir können auch den Inhalt jedes Stash-Eintrags anzeigen.
Um die Dateien im neuesten Stash-Eintrag anzuzeigen, müssen wir folgen.
$ git stash show
test.txt | 4 ++++
1 file changed, 4 insertions(+)
Wir können sehen, dass die test.txt
zuletzt gebunkert wurde.
Um die Änderungen der Dateien im letzten Stash-Eintrag anzuzeigen, müssen wir wie folgt vorgehen.
$ git stash show -p
diff --git a/test.txt b/test.txt
index fae50f7..f60e878 100644
--- a/test.txt
+++ b/test.txt
@@ -73,4 +73,16 This test
some old text
+ some new text
+1. Add this
+2. Add that
+
Der Befehl git stash show
zeigt die im Stash-Eintrag aufgezeichneten Änderungen als Unterschied zwischen dem Inhalt im Stash und dem Commit zurück, als der Stash-Eintrag zum ersten Mal erstellt wurde.
Wir können auch einen bestimmten Stash mit einem Namen anzeigen. Wir müssen den Namen in git stash show -p <named-stash>
angeben.
Um also den Stash-Eintrag mit dem Namen stash@{1}
anzuzeigen, würden wir den Befehl wie folgt ausführen.
$ git stash show -p stash@{1}
Wir können auch die Stash-Einträge branchenübergreifend sehen, nicht nur den aktuellen. Dazu müssen wir den folgenden Befehl ausführen.
$ git stash list --all
Wir können den Stash-Verlauf in Git auch nach einem Datumsbereich anzeigen. Wir müssen den Befehl git stash list
mit der Option --before
oder --after
verwenden.
Wir können den Befehl mit dem Datumsbereich wie unten ausführen.
$ git stash list --before 3.days.ago
$ git stash list --after 2.days.ago
Wir können die Option -stat
verwenden, um die Änderungen jedes Elements im Git-Stash-Verlauf zusammenzufassen. Wie unten gezeigt, können wir den Befehl mit der Option -stat
ausführen.
$ git stash list --stat
Daher haben wir gezeigt, wie Sie die Liste der Stash-Einträge in Git anzeigen können.