Wenn Sie es in Aktion sehen, können Sie den Unterschied möglicherweise besser verstehen.
Angenommen, wir arbeiten an einem masterZweig und haben eine Datei hello.txt, die die Zeichenfolge "Hallo" enthält.
Lassen Sie uns die Datei ändern und der Zeichenfolge "world" hinzufügen. Jetzt möchten Sie in einen anderen Zweig wechseln, um einen kleinen Fehler zu beheben, den Sie gerade gefunden haben. Sie müssen also stashIhre Änderungen vornehmen:
git stash
Sie sind in den anderen Zweig gewechselt, haben den Fehler behoben und können nun weiter an Ihrem masterZweig arbeiten, sodass Sie popdie folgenden Änderungen vornehmen können:
git stash pop
Wenn Sie nun versuchen, den Stash-Inhalt zu überprüfen, erhalten Sie:
$ git stash show -p
No stash found.
Wenn Sie git stash applystattdessen verwenden, erhalten Sie den versteckten Inhalt, behalten ihn aber auch bei:
$ git stash show -p
diff --git a/hello.txt b/hello.txt
index e965047..802992c 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1 @@
-Hello
+Hello world
Es popist also genau wie bei Stack's Pop - es entfernt das Element tatsächlich, sobald es geplatzt ist, während applyes eher wie Peek ist .