Eseguo git stash salvare "ABC" e il e per errore ho fatto git stash chiaro. Come posso recuperare i dati che erano nella cache ABC. Aiuto per favoreCome annullare git stash clear
risposta
Come si può essere trovato in the documentation of git stash, si può essere fortunati se questo funziona:
stashes Recupero che sono stati liquidati/caduto erroneamente
Se per errore cadere o stashes chiare, non possono essere recuperato attraverso i normali meccanismi di sicurezza. Tuttavia, puoi provare il seguente incantesimo per ottenere un elenco di stash che sono ancora nel tuo repository, ma non più raggiungibili:
git fsck --unreachable | commit grep | cut -d \ -f3 | xargs git log --merges --no-passeggiata --grep = WIP
Se si trova il nascondiglio è stata cancellata per errore, allora si può fare:
git stash apply <stash>
EDIT: Usa questo comando invece è git fsck --unreachable | grep commit | cut -d ' ' -f3 | xargs git log --merges --no-walk --grep=WIP
Ho eliminato anche una scorta, ma usando la GUI di GitKraken, quindi non so esattamente quale comando git ha eseguito. La risposta scelta non ha funzionato per me, ma almeno mi ha messo sulla strada giusta.
Nel mio caso, la ricerca manuale attraverso - gli oggetti unreachable hanno funzionato. Sono sicuro che c'è un modo più efficiente, ma sono contento di essere stato in grado di recuperare le modifiche.
ids=`git fsck --unreachable | grep blob | cut -d ' ' -f3`
number_of_ids=`echo $ids | wc -l | tr -d '[:space:]'`
for i in {1..$number_of_ids}; do git show `echo $ids | sed -n ${i}p` > evaluate$i.rb;done;
Quindi salva tutti gli oggetti non raggiungibili nei file preceduti da "Valuta". Ho quindi aperto tutti i file in un editor di testo (sublime per me subl evaluate*
) e valutato ogni file a sua volta, copiando e incollando manualmente il file nella vecchia versione del file originale se si trattasse di un file dalla memoria che ho eliminato.
Punte:
- cambiare il
.rb
per abbinare l'estensione del file dei file che si sta cercando, per ottenere sintassi appropriata evidenziazione se lo vuoi. - Se i file non sono inclusi, è possibile ampliare l'ambito della ricerca rimuovendo lo
| grep blob
(i blob erano dove ho trovato i miei file).
- 1. git stash e git pull
- 2. Annulla un git stash
- 3. git stash domande
- 4. Git stash due volte
- 5. Git Shelve vs Stash
- 6. Stash Git applicare e rilasciare
- 7. Cambia messaggio di Git stash
- 8. git Stash e modificati Hunk
- 9. git stash pop vs git rebase
- 10. git stash applicare la versione
- 11. Quando dovrei usare git stash?
- 12. Come combinare più stash in git
- 13. Come emulare 'git stash' in fossili, bzr?
- 14. modifiche di git stash perse
- 15. Come annullare il git diff?
- 16. come annullare aggiornamento git modulo
- 17. Come annullare git update-index?
- 18. Annullare una git merge
- 19. Git annullare una Revert
- 20. Annulla git stash pop su albero di lavoro sporco
- 21. Si applica la differenza tra git stash pop e git stash
- 22. Annullare la parte delle modifiche non modificate in git
- 23. Problema di completamento automatico durante la digitazione di git stash show stash @ {1}
- 24. Alias git stash poop per pop?
- 25. git stash è lento su Windows
- 26. Stash Git errore "fatale: l'errore a distanza: CAPTCHA richiesto"
- 27. Come annullare la funzionalità del flusso git?
- 28. come annullare git add prima di commettere
- 29. Come annullare l'ultimo commit in git
- 30. Come annullare "git add." durante una fusione?
sua non funziona :( –
@AshishBanker: Poi è andato Che questa sia una lezione per voi Non usare 'git stash' per memorizzare i cambiamenti a cui tieni, usare' git commit', anche se è.. È sempre possibile 'git commit --amend' e' git rebase -i' successivamente. –
Su OSX: '' 'git fsck --unreachable | grep commit | cut -d '' -f3 | xargs git log - unisce --no-walk --grep = WIP''' –