Ich verwende git stash
und git stash pop
speichere häufig Änderungen in meinem Arbeitsbaum und speichere sie. Gestern hatte ich einige Änderungen an meinem Arbeitsbaum, die ich versteckt und geknallt hatte, und dann habe ich weitere Änderungen an meinem Arbeitsbaum vorgenommen. Ich würde gerne zurückgehen und die gestrigen Änderungen überprüfen, aber git stash pop
anscheinend alle Verweise auf das zugehörige Commit entfernen.
Ich weiß, wenn ich git stash
dann .git / refs / Stash enthält die Referenz des verwendeten commit das Versteck zu erstellen. Und .git / logs / refs / stash enthält den gesamten Stash. Aber diese Referenzen sind weg git stash pop
. Ich weiß, dass sich das Commit noch irgendwo in meinem Repository befindet, aber ich weiß nicht, was es war.
Gibt es eine einfache Möglichkeit, die gestrige Stash-Commit-Referenz wiederherzustellen?
Beachten Sie, dass dies für mich heute nicht kritisch ist, da ich tägliche Backups habe und zum gestrigen Arbeitsbaum zurückkehren kann, um meine Änderungen zu erhalten. Ich frage, weil es einen einfacheren Weg geben muss!
git stash
, git pull -r upstream
, git push -f origin
, git stash pop
, und Pop sagte : "fatal: log für refs / Stash ist leer". 😲 Ich habe einige dieser Antworten ausprobiert, nichts hat funktioniert. Als ich in .git / refs / stash nachgesehen habe , war der SHA da drin . Möglicherweise ein Problem beim Markieren eines Windows-Netzlaufwerks für die Offline-Synchronisierung? 🤷♂️
git stash pop
, können Sie diesgit stash apply
stattdessen tun . Es macht dasselbe, außer dass es den Verweis auf den angewendeten Stash nicht entfernt.