Ich benutze git stash pop
seit einiger Zeit. Ich habe kürzlich von dem git stash apply
Befehl erfahren. 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
?
git stash pop
einen Konfliktfehler erhalten , wenn die nicht bereitgestellten Änderungen in Ihrem Zweig mit dem Ergebnis übereinstimmen .Ich habe diesen hilfreichen Link erhalten, der den Unterschied angibt, wie John Zwinck festgestellt hat, und einen Nachteil von
git stash pop
.Link: http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/
quelle
git stash pop
Wendet das oberste versteckte Element an und entfernt es vom Stapel.git stash apply
macht das gleiche, lässt es aber im Stapel.quelle
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 Dateihello.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:Sie sind in den anderen Zweig gewechselt, haben den Fehler behoben und können nun weiter an Ihrem
master
Zweig arbeiten, sodass Siepop
die folgenden Änderungen vornehmen können:Wenn Sie nun versuchen, den Stash-Inhalt zu überprüfen, erhalten Sie:
Wenn Sie
git stash apply
stattdessen verwenden, erhalten Sie den versteckten Inhalt, behalten ihn aber auch bei:Es
pop
ist also genau wie bei Stack's Pop - es entfernt das Element tatsächlich, sobald es geplatzt ist, währendapply
es eher wie Peek ist .quelle
In
git
Stash befindet sich ein Speicherbereich, in den aktuell geänderte Dateien verschoben werden können.stash
Der Bereich ist nützlich, wenn Sie einige Änderungen aus demgit
Repository abrufen möchten und einige Änderungen in einigen imgit
Repo verfügbaren gegenseitigen Dateien festgestellt haben .quelle
Git Stash
Pop vs apply
funktioniertWenn Sie Ihre obersten versteckten Änderungen auf aktuelle nicht bereitgestellte Änderungen anwenden und diese auch löschen möchten, sollten Sie sich dafür entscheiden
git stash pop
.Wenn Sie jedoch Ihre obersten Änderungen auf aktuelle nicht bereitgestellte Änderungen anwenden möchten, ohne sie zu löschen, sollten Sie sich dafür entscheiden
git stash apply
.quelle