2013-05-17 15 views
6

git clean -f -d file rimossi anche dalla mia directory locale Come posso recuperarli? L'ho usato per rimuovere directory e file non tracciati e ho scoperto che l'ho eliminato anche dal mio file system locale. È possibile? Cosa ho fatto di sbagliato e c'è un modo per recuperarli?git clean -f -d file rimossi dalla mia directory locale

+1

"Che cosa ho fatto di sbagliato?" Questo dipende da cosa ti aspettavi che accadesse. Sembra che 'git clean -f -d' si sia comportato come documentato: ha cancellato file e directory non tracciati dalla tua copia di lavoro. Per definizione, se non sono tracciati non sono nel repository, quindi non c'è nessun altro da cui potrebbero essere stati cancellati. – David

risposta

4

Come una risposta precedente dice, se stai lavorando su Linux, non puoi recuperarli. Se ne sono andati: questo è il punto di "git clean". A meno che tu non stia utilizzando un filesystem in grado di fare istantanee, allora probabilmente saprai come recuperarle.

Se il tuo obiettivo era quello di evitare vederli in "git status", avete due possibilità:

A)

git status -uno 

non stampa i file e le directory non monitorate.

B) Se ci sono un insieme fisso di file (o un modello di nome file) che non vorrete vedere in "git status", né metterli sotto il controllo delle versioni, è possibile "ignora" loro. Devi semplicemente mettere il loro nome o modello in un file chiamato ".gitignore" nella radice del tuo repository.

Generalmente utilizzato per i file generati.

L'esempio seguente ignora i nomi di file che terminano con ".html" e il file chiamato "out/myFile.txt":

*.html 
out/myFile.txt 

Vedi

git help ignore 

per maggiori informazioni.

+0

sì, lavorando su Linux. Quindi suppongo che sia finita :-(prezzo si paga per essere un principiante in git. – tan

+1

Dicono che ci sono 2 tipi di persone: quelle che hanno perso il lavoro a causa di un comando git sbagliato e quelli che non hanno perso il lavoro * * yet ** :) – deubeuliou

+0

nota che ogni speranza non è sempre persa: se i file sono aperti in un editor e se il suddetto editor non li ha ricaricati automaticamente, puoi salvarli di nuovo. – deubeuliou

1

I file cancellati da git clean non sono stati tracciati, il che significa che git non ne ha conservato una copia aggiuntiva. Se è necessario recuperarli, la soluzione migliore è immediatamente rimontare il file system in sola lettura ed eseguire qualsiasi strumento di recupero file eliminato appropriato per il sistema operativo in uso.

1

Questo dipende molto da come li hai cancellati. In Windows questi file dovrebbero essere appena passati al cestino. In Linux credo che git stia usando il comando rm, quindi dovresti fare una rapida ricerca su come recuperare i file cancellati accidentalmente con rm.

Problemi correlati