Es gilt der Unterschied zwischen Git Stash Pop und Git Stash

Lesezeit: 4 Minuten

Es gilt der Unterschied zwischen Git Stash Pop und Git
Sandeep Raju Prabhakar

Ich habe verwendet git stash pop für einige Zeit. Ich habe kürzlich davon erfahren git stash apply Befehl. Als ich es ausprobierte, schien es genauso zu funktionieren wie git stash pop.

Was ist der Unterschied zwischen git stash pop und git stash apply?

Es gilt der Unterschied zwischen Git Stash Pop und Git
Johannes Zwinck

git stash pop wirft weg der (standardmäßig oberste) Stash nach der Anwendung, während git stash apply lässt es in der Stash-Liste für eine mögliche spätere Wiederverwendung (oder Sie können dann git stash drop es).

Dies geschieht, es sei denn, es gibt danach Konflikte git stash popin diesem Fall wird es den Stash nicht entfernen und sich genau so verhalten git stash apply.

Eine andere Sichtweise: git stash pop ist git stash apply && git stash drop.

  • Wie in den Antwortnotizen von @briankip unten angegeben, wird Pop den Stash nicht entfernen, wenn es Konflikte gibt, wenn ein Stash geöffnet wird (und sich genau wie Apply verhält).

    – Kaschif

    20. November 2014 um 22:56 Uhr

  • Es scheint, dass selbst wenn die nicht inszenierten Änderungen in Ihrem Zweig die gleichen sind wie git stash pop‘s Ergebnis erhalten Sie immer noch einen Konfliktfehler.

    – DimP

    1. Februar 2018 um 16:42 Uhr

Es gilt der Unterschied zwischen Git Stash Pop und Git
Briankip

Ich habe diesen hilfreichen Link erhalten, der den Unterschied angibt, wie John Zwinck angegeben hat, und einen Nachteil von git stash pop.

Angenommen, Ihre Änderungen im Stash stehen in Konflikt mit anderen Änderungen, die Sie vorgenommen haben, seit Sie das Stash zum ersten Mal erstellt haben. Sowohl pop als auch apply lösen hilfreicherweise den Merge-Konfliktlösungsmodus aus, sodass Sie solche Konflikte gut lösen können … und keiner von beiden wird den Stash los, auch wenn Sie vielleicht auch pop erwarten. Da viele Leute erwarten, dass Verstecke nur ein einfacher Stapel sind, führt dies oft dazu, dass sie später versehentlich dasselbe Versteck platzen lassen, weil sie dachten, es sei weg.

Verknüpfung: http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/

  • Die Tatsache, dass ein Stash zurückbleibt, wenn ein Pop fehlschlägt, ist wirklich kein Nachteil, auch wenn es zunächst so erscheinen mag.

    – Amalgowinus

    15. Dezember 2017 um 21:56 Uhr

git stash pop wendet das oberste gebunkerte Element an und entfernt es aus dem Stapel. git stash apply macht dasselbe, lässt es aber im Stash Stash.

Wenn Sie es in Aktion sehen, können Sie den Unterschied besser verstehen.

Angenommen, wir arbeiten daran master verzweigen und eine Datei haben hello.txt die den String „Hallo“ enthält.

Ändern wir die Datei und fügen ihr den String „world“ hinzu. Jetzt möchten Sie zu einem anderen Zweig wechseln, um einen kleinen Fehler zu beheben, den Sie gerade gefunden haben, also müssen Sie das tun stash Ihre Änderungen:

git stash

Sie sind in den anderen Zweig gewechselt, haben den Fehler behoben und können nun an Ihrem weiterarbeiten master Filiale, also du pop die Veränderungen:

git stash pop

Wenn Sie nun versuchen, den Stash-Inhalt zu überprüfen, erhalten Sie Folgendes:

$ git stash show -p
No stash found.

Allerdings, wenn Sie verwenden git stash apply Stattdessen erhalten Sie den gespeicherten Inhalt, behalten ihn aber auch:

$ 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

Damit pop ist genau wie der Pop von Stack – es entfernt tatsächlich das Element, sobald es geplatzt ist, während apply ist eher so spähen.

Angenommen, es werden keine Fehler ausgegeben und Sie möchten am obersten Stash-Element in der Liste der verfügbaren Stashes arbeiten:

git stash pop = git stash apply + git stash drop

1646262487 656 Es gilt der Unterschied zwischen Git Stash Pop und Git
Ehsan Mashhadi

Schnelle Antwort:

git stash pop -> aus der Stash-Liste entfernen

git stash apply -> behalte es in der Stash-Liste

1646262488 849 Es gilt der Unterschied zwischen Git Stash Pop und Git
Vikrant Kashyap

Im git verstauen ist ein Speicherbereich, in dem aktuell geänderte Dateien verschoben werden können.

stash Bereich ist nützlich, wenn Sie einige Änderungen ziehen möchten git -Repository und entdeckte einige Änderungen in einigen gemeinsamen Dateien, die in verfügbar sind git Repo.

git stash apply //apply the changes without removing stored files from stash area.

git stash pop  // apply the changes as well as remove stored files from stash area.

Notiz :- git apply Wenden Sie nur die Änderungen aus dem Stash-Bereich an, während git pop gelten sowie entfernen ändern von stash Bereich.

917090cookie-checkEs gilt der Unterschied zwischen Git Stash Pop und Git Stash

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy