Wenn Sie es in Aktion sehen, können Sie den Unterschied möglicherweise besser verstehen.
Angenommen, wir arbeiten an einem master
Zweig 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 stash
Ihre Änderungen vornehmen:
git stash
Sie sind in den anderen Zweig gewechselt, haben den Fehler behoben und können nun weiter an Ihrem master
Zweig arbeiten, sodass Sie pop
die 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 apply
stattdessen 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 pop
ist also genau wie bei Stack's Pop - es entfernt das Element tatsächlich, sobald es geplatzt ist, während apply
es eher wie Peek ist .