Einführung
In diesem Lab lernen Sie, wie Sie prüfen können, ob ein Git-Stash leer ist. Wir werden verschiedene Methoden untersuchen, um die Inhalte Ihrer Stashes zu überprüfen und zu verifizieren.
Zunächst verwenden Sie den Befehl git stash show, um die Änderungen in einem Stash zu untersuchen, einschließlich der Ansicht einer Zusammenfassung und der detaillierten Differenz (Diff). Dann lernen Sie, wie Sie git stash list verwenden, um die Existenz und den Inhalt von Stashes zu überprüfen. Abschließend testen Sie diese Befehle mit nicht-leeren Stashes, um Ihr Verständnis zu festigen.
Führen Sie 'git stash show' aus, um zu überprüfen
In diesem Schritt lernen wir, wie man die in einem Git-Stash gespeicherten Änderungen mit dem Befehl git stash show untersucht.
Bevor wir einen Stash untersuchen können, müssen wir einen haben. Erstellen wir zunächst eine einfache Datei und legen die Änderungen in einem Stash ab.
Stellen Sie zunächst sicher, dass Sie sich in Ihrem Projektverzeichnis befinden:
cd ~/project/my-time-machine
Erstellen Sie nun eine neue Datei namens notes.txt und fügen Sie etwas Inhalt hinzu:
echo "Important notes for the future." > notes.txt
Prüfen Sie den Status, um die neue Datei anzuzeigen:
git status
Sie sollten sehen, dass notes.txt als nicht-verfolgte Datei aufgeführt ist.
Legen wir nun diese Änderungen in einem Stash ab. Dadurch werden die Änderungen gespeichert, ohne dass sie committet werden, und Ihr Arbeitsverzeichnis wird bereinigt:
git stash save "Add important notes"
Sie sollten eine Ausgabe sehen, die darauf hinweist, dass die Änderungen gespeichert wurden und das Arbeitsverzeichnis sauber ist.
Da wir nun einen Stash haben, können wir seinen Inhalt mit git stash show untersuchen. Standardmäßig zeigt git stash show eine Zusammenfassung der Änderungen im neuesten Stash an.
Führen Sie den Befehl aus:
git stash show
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
notes.txt | 1 +
1 file changed, 1 insertion(+)
Diese Ausgabe sagt uns, dass eine Datei (notes.txt) geändert wurde und eine Zeile hinzugefügt wurde.
Um die tatsächlichen Inhaltsänderungen (eine Differenz, engl. "diff") anzuzeigen, können Sie die Option -p oder --patch hinzufügen:
git stash show -p
Dadurch wird Ihnen die Differenz der Änderungen im Stash angezeigt, ähnlich wie git diff funktioniert. Sie sollten etwas wie Folgendes sehen:
diff --git a/notes.txt b/notes.txt
new file mode 100644
index 0000000..a1b2c3d
--- /dev/null
+++ b/notes.txt
@@ -0,0 +1 @@
+Important notes for the future.
Diese Ausgabe zeigt, dass eine neue Datei notes.txt erstellt wurde und die Zeile "Important notes for the future." hinzugefügt wurde.
Der Befehl git stash show ist sehr nützlich, um schnell zu prüfen, welche Änderungen in einem Stash enthalten sind, ohne ihn anwenden zu müssen. Dies hilft Ihnen, zu entscheiden, welchen Stash Sie später anwenden oder löschen möchten.
Verwenden Sie 'git stash list' zur Überprüfung
In diesem Schritt lernen wir, wie man eine Liste aller von Ihnen erstellten Stashes mit dem Befehl git stash list anzeigt. Dies ist nützlich, wenn Sie mehrere Stashes haben und sich daran erinnern müssen, was jeder einzelne enthält.
Stellen Sie sicher, dass Sie sich immer noch in Ihrem Projektverzeichnis befinden:
cd ~/project/my-time-machine
Im vorherigen Schritt haben wir einen Stash erstellt. Verwenden wir git stash list, um ihn anzuzeigen.
Führen Sie den Befehl aus:
git stash list
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
stash@{0}: On master: Add important notes
Lassen Sie uns diese Ausgabe analysieren:
stash@{0}: Dies ist der Name des Stashes.stashzeigt an, dass es sich um einen Stash handelt, und{0}ist der Index des Stashes in der Liste. Der neueste Stash befindet sich immer am Index{0}.On master: Dies gibt an, auf welchem Branch Sie sich befanden, als Sie den Stash erstellt haben.Add important notes: Dies ist die Nachricht, die wir beim Erstellen des Stashes mitgit stash saveangegeben haben. Wenn Sie keine Nachricht angeben, generiert Git automatisch eine basierend auf dem aktuellen Commit und den geänderten Dateien.
Wenn Sie mehrere Stashes hätten, würden sie mit zunehmenden Indizes aufgelistet werden, wie stash@{0}, stash@{1}, stash@{2} und so weiter.
Erstellen wir einen weiteren Stash, um zu sehen, wie sich die Liste ändert.
Zunächst ändern wir die Datei message.txt, die wir in einem früheren Lab erstellt haben:
echo "Adding another line for testing." >> message.txt
Legen Sie nun diese neuen Änderungen in einem Stash ab:
git stash save "Add another line to message"
Führen Sie erneut git stash list aus:
git stash list
Jetzt sollten Sie zwei Stashes sehen:
stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes
Beachten Sie, dass der neue Stash jetzt am Index {0} steht und der vorherige Stash auf Index {1} verschoben wurde. Git legt immer den neuesten Stash an den Anfang der Liste mit Index {0}.
Der Befehl git stash list ist unerlässlich für die Verwaltung mehrerer Stashes. Er bietet einen klaren Überblick über Ihre gespeicherten Änderungen und ermöglicht es Ihnen, bestimmte Stashes zu identifizieren und zu referenzieren, wenn Sie sie anwenden oder löschen müssen.
Testen von nicht-leeren Stashes
In diesem Schritt üben wir die Verwendung von git stash show und git stash list mit mehreren Stashes, um unser Verständnis zu festigen.
Stellen Sie sicher, dass Sie sich in Ihrem Projektverzeichnis befinden:
cd ~/project/my-time-machine
Wir haben derzeit zwei Stashes. Listen wir sie erneut auf, um uns daran zu erinnern:
git stash list
Sie sollten Folgendes sehen:
stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes
Lassen Sie uns nun den Inhalt des ersten Stashes (stash@{0}) untersuchen. Wir können angeben, welchen Stash wir anzeigen möchten, indem wir seinen Index dem Befehl hinzufügen:
git stash show stash@{0}
Dies zeigt die Zusammenfassung der Änderungen im neuesten Stash an, also denjenigen, in dem wir eine Zeile zu message.txt hinzugefügt haben. Die Ausgabe sollte ähnlich der folgenden sein:
message.txt | 1 +
1 file changed, 1 insertion(+)
Um die Differenz (engl. "diff") für diesen Stash anzuzeigen, verwenden Sie die Option -p:
git stash show -p stash@{0}
Sie sollten die Differenz sehen, die die hinzugefügte Zeile in message.txt anzeigt.
Lassen Sie uns nun den zweiten Stash (stash@{1}) untersuchen. Dies ist der Stash, in dem wir die Datei notes.txt erstellt haben.
git stash show stash@{1}
Die Ausgabe sollte ähnlich der folgenden sein:
notes.txt | 1 +
1 file changed, 1 insertion(+)
Und um die Differenz für diesen Stash anzuzeigen:
git stash show -p stash@{1}
Dies zeigt die Differenz für die Erstellung von notes.txt an.
Die Fähigkeit, einzelne Stashes aufzulisten und zu untersuchen, ist von entscheidender Bedeutung, wenn Sie mehrere Sets von Änderungen gespeichert haben. Sie können so schnell den benötigten Stash identifizieren, ohne sie nacheinander anwenden zu müssen.
In den nächsten Labs lernen wir, wie wir diese Stashes anwenden und verwalten können.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man den Inhalt eines Git-Stashes mit dem Befehl git stash show untersucht. Zunächst haben wir eine einfache Datei erstellt und die Änderungen in einem Stash gespeichert, um damit arbeiten zu können. Anschließend haben wir git stash show verwendet, um eine Zusammenfassung der Änderungen im neuesten Stash anzuzeigen, einschließlich der Anzahl der geänderten Dateien und der hinzugefügten/entfernten Zeilen. Wir haben auch die Option -p oder --patch mit git stash show untersucht, um die tatsächlichen Differenzen (engl. "diff") der Änderungen innerhalb des Stashes anzuzeigen. Dadurch konnten wir die spezifischen Zeilen sehen, die hinzugefügt, geändert oder gelöscht wurden. Dieser Befehl ist ein wertvolles Werkzeug, um schnell den Inhalt eines Stashes zu verstehen, ohne ihn anwenden zu müssen.



