2012-08-27 21 views
15

Quindi, ecco cosa è successo: Ero su un ramo "A" e ho fatto un deposito Git su quel ramo. Poi sono passato a un altro ramo 'B'. Ho navigato di nuovo a Branch 'A' ma non ho fatto un pop di Git. Sono passato al ramo principale e poi di nuovo al ramo "A". Sto cercando di fare un git stash pop ora, ma non riesco a recuperare le mie modifiche .. Ho bisogno di recuperare quel codice ma ogni volta che faccio un pop git stash, le mie modifiche ai file non sono elencate. Non ho commesso alcun codice.modifiche di git stash perse

C'è un modo per ripristinare le modifiche apportate? apprezzerebbe davvero qualsiasi aiuto in merito.

+1

prova "git stash list" per vedere quali sono le scorte disponibili. – JamesOR

risposta

7

stashes dovrebbero essere visualizzabili tramite

git stash list 

o

gitk --all 

anche, git stash non stash file non monitorate. Se hai fatto questo e successivamente hai fatto un git checkout --force di un altro ramo per sovrascrivere i file non tracciati con quelli tracciati in un altro ramo, hai perso quel contenuto. Il modo consigliato di memorizzare è con

git stash -u 

Ciò eviterà perdite di questo tipo.

+0

Grazie. Questo ha aiutato. – nids

10

Abbiamo anche affrontato lo stesso problema. Quindi, ecco come abbiamo recuperato i cambiamenti persi:

  1. Torna alla filiale di B.

    git checkout B

  2. Usa git reflog opzione per rogna informazioni reflog.

    git reflog --all

    uscita:

    refs f332d5c/scorta @ {0}: WIP su B: aa1d0c1 xyz messaggio di commit

  3. Ora, passare al ramo A utilizzando git checkout A

  4. Infine, per ripristinare le modifiche perse.

    git scorta applicano f332d5c

+1

Ha avuto accesso al commit, ma ha perso la mia scorta. Recuperato il mio lavoro 'git stash apply'. Grazie! – Mitkins

+0

@Mitkins grazie mille, ho anche incontrato questo e 'git stash apply 'funziona per me! – AnnabellChan

0

Qualcosa di simile è successo a me. In breve, verifica di non aver spinto accidentalmente i nuovi file sull'altro ramo.

Ecco cosa mi è successo: ho nascosto le mie cose, passato da "dev" a "master" per eseguire rapidamente una correzione rapida.Quando ho spinto il mio hotfix a padroneggiare, non ho notato che ho aggiunto anche i miei nuovi file che erano destinati allo sviluppo del ramo master - anche io ho pensato che lo stash includesse quei file.