2014-04-28 30 views
5

Sono nuovo di git. Ho i file di pagamento da remoto. Ho dovuto eliminare alcuni file dal repository git. Invece di eseguire il comando git rm, ho emesso il comando unix rm -rf folder. Devo ripristinare il comando delete e quindi eseguire il comando git rm. Come ripristinare l'ultimo codice?git annulla file cancellati

Nota: Non ho ancora commesso il files.The in scena fuori dalla git status l'elenco dei file eliminati, nel seguente formato:

# deleted: i18n/angular-locale_sl.js 
# deleted: i18n/angular-locale_in.js 
+1

Se hai già eliminato la cartella, git dovrebbe rilevare che già, basta bisogno di mettere in scena la cancellazione. Qual è l'output di 'git status'? –

+0

possibile duplicato di [Ripristina un file cancellato in un repository Git] (http://stackoverflow.com/questions/953481/restore-a-deleted-file-in-a-git-repo) – indivisible

+0

Possibile duplicato di [Come fare scarti modifiche non programmate in git?] (http://stackoverflow.com/questions/52704/how-do-you-discard-unstaged-changes-in-git) –

risposta

6

ho bisogno di ripristinare il comando di cancellazione e quindi eseguire comando git rm. Come ripristinare l'ultimo codice?

Basta fare un (poiché non l'ha commesso nulla):

cd /root/of/your/repo 
git checkout HEAD -- . 

che ripristini l'albero di lavoro per l'indice.

(A git reset --hard dovrebbe funzionare anche, ma non è necessario qui)

ma si potrebbe anche registrare quelli eliminazione all'indice direttamente:

git add -A . 

Vedi "What's the difference between git add . and git add -u?"

0

Per integrare la risposta di @VonC,

Ho dovuto eliminare alcuni file da t lui cede il repo. Invece di fare comando git rm, ho emanato il comando cartella -rf unix rm

L'unica differenza tra le due opzioni è che git rm può anche rimuovere i file dal vostro indice git. Tuttavia, poiché non li hai mai aggiunti all'indice per iniziare, non vi è alcun motivo particolare per utilizzare git rm e non è necessario annullare la normale /bin/rm.

1

Se è stato messo in scena la cancellazione, prima unstage esso:

git reset HEAD path/to/deleted/file 

quindi ripristinare il file:

git checkout path/to/deleted/file