Uso frequentemente git stash
e git stash pop
per salvare e ripristinare le modifiche nel mio albero di lavoro. Ieri ho apportato alcune modifiche al mio albero di lavoro che avevo nascosto e spuntato, quindi ho apportato ulteriori modifiche al mio albero di lavoro. Vorrei tornare indietro e rivedere le modifiche apportate ieri, ma git stash pop
sembra rimuovere tutti i riferimenti al commit associato.
So che se uso git stash
allora .git / refs / stash contiene il riferimento del commit utilizzato per creare lo stash. E .git / logs / refs / stash contiene l'intera scorta. Ma quei riferimenti sono andati dopo git stash pop
. So che il commit è ancora nel mio repository da qualche parte, ma non so cosa fosse.
C'è un modo semplice per recuperare il riferimento al commit stash di ieri?
Si noti che questo non è fondamentale per me oggi perché ho backup giornalieri e posso tornare all'albero di lavoro di ieri per ottenere le mie modifiche. Lo sto chiedendo perché ci deve essere un modo più semplice!
git stash
, git pull -r upstream
, git push -f origin
, git stash pop
, e pop, ha detto "fatale: log per arbitri / scorta è vuoto". 😲 Ho provato un sacco di queste risposte, niente ha funzionato. Quando ho guardato in .git / refs / stash , lo SHA era lì. Forse un problema con la marcatura di un'unità di rete Windows per la sincronizzazione offline? 🤷♂️
git stash pop
, puoigit stash apply
invece farlo . Fa la stessa cosa, tranne per il fatto che non rimuove il riferimento allo stash applicato.