Ich habe einen Git Stash Pop gemacht und jetzt habe ich eine Menge Konflikte. Ich hatte meinen gesamten aktuellen Code vor dem festgeschrieben. Gibt git stash pop
es also eine Möglichkeit, zum letzten Festschreiben zurückzukehren und alle Konflikte und den Code des git stash pop
injizierten zu beseitigen?
132
git stash
wird der Stash von git nicht aus der Liste entfernt. Zerstörtgit reset --hard HEAD
also nicht die geknallte Arbeit.Antworten:
Dies wurde bereits beim Stackoverflow gefragt und beantwortet (siehe Zurücksetzen des Git-Repositorys auf ein vorheriges Commit? ). Die einfache Antwort lautet jedoch:
Dies sollte sich um Ihr Problem kümmern. Beachten Sie, dass dadurch alle nicht festgeschriebenen Änderungen aus dem Repository entfernt werden.
Beachten Sie, dass bei Konflikten der Vorrat erhalten bleibt. Aus den Stash-Dokumenten :
quelle
git stash pop
zu Konflikten kommt, wird der Stash nicht aus der Stash-Liste gelöscht.Das Zurücksetzen kann auch für bestimmte Dateien aufgerufen werden:
Sie können eine Datei jedoch nicht hart zurücksetzen. Sie können die Änderungen jedoch nach dem Auschecken rückgängig machen:
Ihr Vorrat wird erhalten bleiben, wie Luke in der Antwort von MichaelMilom hervorgehoben hat.
Dies ist nützlich, wenn Sie Ihre nicht festgeschriebenen lokalen Änderungen nicht verlieren möchten.
quelle
Wenn Sie die Arbeit nie wieder im Popped Stash sehen möchten, ist dies so einfach wie ein Hard-Reset:
Dies weist git an, die Tatsache zu ignorieren, dass Sie nicht festgeschriebene Änderungen in Ihrem Arbeitsverzeichnis vorgenommen haben, und legt das Arbeitsverzeichnis, den Staging-Bereich und den von Ihnen angegebenen Commit fest - in diesem Fall den vorhandenen HEAD, der alle von Ihnen ausgeführten Arbeiten enthält Ich habe mich gerade verpflichtet.
quelle