2009-02-21 19 views
54

Soy un reciente convertido git. Es genial poder usar git-svn para mantener mis ramas localmente sin molestar al servidor svn. Hubo un error que existía en la última versión del código. Quería establecer un momento en el que funcionara para poder usar git bisect. No pude encontrar el comando correcto para retroceder en el tiempo. Gracias.¿Cuál es el equivalente de git de "svn update -r"?

Respuesta

61
git checkout HEAD~1 

Esto moverá su CABEZA actual a una revisión anterior.

git checkout <sha> 

Esto moverá su HEAD actual a la revisión dada. Use git log o gitk para encontrar la revisión que está buscando.

+2

Aunque ejecuté estos dos comandos, no veo mis archivos. Aquí está la situación. 1.) Elimino una carpeta. 2.) Hago los dos comandos que has enumerado. 3.) La carpeta aún se elimina en lugar de ser arrastrada ya que una actualización de SVN se habría restaurado. – Danny

+2

Eso es porque lo que estás buscando es 'git checkout - '. – Bombe

19

y volver a la última (equivalente a: svn arriba), tendrá que actualizar la rama, por lo general:

git checkout master 

Esto es porque la cabeza se refiere a la versión que se está desprotegido.

+4

Esto no parece ser el equivalente de svn up. En svn, si edito algo y quiero simplemente borrarlo y regresar a la versión actual del repositorio, simplemente elimino el archivo y hago svn up. Luego, la versión actual del archivo que acabo de eliminar se extrae del repositorio. Esto no ocurre con git checkout master. Simplemente me dice que el archivo fue eliminado. ¿Cómo recupero un archivo eliminado? – mutatron

+3

Se pueden revertir los cambios (incluidos los archivos eliminados localmente) revisando el archivo en cuestión: 'git checkout myfile.txt' – jmu

1
git pull

parece un comando más apropiado para lo que busca

0

Esto parece hacer lo que quería, que es lo que creo que está pidiendo demasiado

git checkout * 
0

Si están usando TortoiseGit luego

Right Click in project folder > TortoiseGit > Pull 
Cuestiones relacionadas