2012-08-21 17 views
6

Ho dimenticato per sbaglio di "git add". un sacco di file che ho creato prima di creare un nuovo ramo usando "git checkout -b name" e tutti i miei file non gestiti sono stati sostituiti dai file dalla testa.Ripristina i file rimossi da Git checkout

Esiste un modo per recuperare questi file? Non sono in deposito né sono stati commessi. Inoltre non sto usando un IDE che mantiene una cronologia dei file.

Ho letto di "git fsck --lost-found", ma prima che ci provi, c'è un altro modo in cui posso ripristinare i file non formattati sul filesystem?

+1

Non capisco cosa hai fatto. Hai perso le modifiche non previste? Normalmente git ci prova abbastanza duramente per proteggerli. Ad esempio, se si esegue "git checkout -b name" con modifiche non modificate, git * le conserverà. Potresti dare istruzioni passo-passo su come riprodurre il tuo problema? – sleske

+0

Al momento, temo che la tua domanda non riesca a ottenere una buona risposta, perché ciò che descrivi non dovrebbe accadere con git (e non potrei riprodurlo). – sleske

+1

Non riesco a riprodurre il problema su un nuovo 'git init'. Questo è davvero un problema molto strano. Non ho perso le modifiche non programmate, ma essenzialmente una cartella che rappresentava un pacchetto e un file sorgente che era all'interno di esso. Quello che ho fatto esattamente è stato: 1. A un certo punto ho clonato un repository, da allora ho fatto alcuni commit ai file in scena. 2. Ho aggiunto altri file sul file system senza aggiungerli alla gestione temporanea. 3. Ho eseguito nuovamente alcuni commit sui file di staging. 4. Ho creato un nuovo ramo con checkout -b dell'HEAD dal ramo master e i miei file non gestiti erano spariti. –

risposta

1

Purtroppo non c'è modo (non che io abbia trovato). Una volta ho fatto qualcosa del genere, ma stavo usando Aptana Studio e potevo recuperare tutti i file.

In ogni caso, una buona pratica è mantenere piccoli i vostri impegni. Quando lo fai non perderai mai più di 30 minuti anche con incidenti del genere.

+0

Aspetta, cosa? Sono con @sleaske su questo.Se l'integrazione git di Aptana sta abbandonando le modifiche che git propriamente no, è Aptana – Christopher

+0

Un'interessante osservazione è che ho usato la riga di comando di Eclipse e Git e, a questo punto, i pacchetti/file persi sono ancora visibili in Eclipse ma non è possibile aprirli poiché c'è un 'Errore nel recupero del contenuto descrizione per risorsa/xxx/xxx/dashboard. "Inoltre, il" Ripristino dalla cronologia locale "non funziona, poiché ricevo un messaggio che mi informa che non esiste una cronologia locale per questo file. –

+1

Chiarire la mia risposta. Aptana come editor ma usando 'git' nella riga di comando.Da Aptana mantiene tutte le schede aperte (tutti i file che avevo modificato) Ho solo avuto bisogno di salvarli di nuovo. – hsgubert