2009-02-21 18 views
54

Sono un recente git convert. È fantastico poter usare git-svn per mantenere i miei rami localmente senza disturbare il server svn. C'era un bug che esisteva nell'ultima versione del codice. Volevo stabilire un momento in cui ha funzionato in modo da poter usare git bisect. Non sono riuscito a trovare il comando giusto per tornare indietro nel tempo. Grazie.Qual è l'equivalente git di "svn update -r"?

risposta

61
git checkout HEAD~1 

Questo sposta il TESTO corrente in una revisione in precedenza.

git checkout <sha> 

Questo sposta il TES corrente alla revisione specificata. Utilizza git log o gitk per trovare la revisione che stai cercando.

+2

Anche se eseguo entrambi questi comandi, non vedo i miei file. Ecco la situazione. 1.) Elimina una cartella. 2.) Faccio i due comandi che hai elencato. 3.) La cartella viene comunque cancellata, ma viene tirata giù come un aggiornamento SVN avrebbe ripristinato. – Danny

+2

Ecco perché quello che stai cercando è 'git checkout - '. – Bombe

19

e tornare alla più recente (equivalente a: svn up), avrete bisogno di aggiornare il ramo, di solito:

git checkout master 

Questo è perché la testa si riferisce alla versione che viene estratto.

+4

Questo non sembra essere l'equivalente di svn up. In svn, se modifico qualcosa e voglio solo cancellarlo e tornare alla versione attuale del repository, basta eliminare il file e svn up. Quindi la versione corrente del file che ho appena eliminato viene estratta dal repository. Questo non succede con git checkout master. Mi dice solo che il file è stato cancellato. Come posso recuperare un file cancellato? – mutatron

+3

È possibile ripristinare le modifiche (inclusi i file eliminati localmente) verificando il file in questione: 'git checkout myfile.txt' – jmu

1
git pull

sembra un comando più appropriato per quello che stai cercando per

0

Questo sembra fare quello che volevo, che è quello che penso che stai chiedendo troppo

git checkout * 
0

Se stanno usando TortoiseGit quindi

Right Click in project folder > TortoiseGit > Pull