2011-01-30 18 views
7

decir te siga estos pasos en SVN:¿Tiene git (o necesita) el equivalente de la revisión de parche de svn?

rev 1: create a file called 'foo' 
rev 2: delete 'foo' 
rev 3: create a new file called 'foo' 

Si quiero ver el contenido de la primera 'foo' usando SVN, que tendría que utilizar la sintaxis PEG revisión 'svn cat [email protected]' ya que la sintaxis tradicional " svn cat -r 1 foo 'fallará.
He leído que git rastrea el contenido y no los archivos, ¿eso significa que no hay necesidad de algo así como una revisión de revisión?

Respuesta

8
git show HEAD~1:/path/tp/foo 

le mostrará el contenido del archivo como lo fue en "Rev1" (nota: es necesario especificar la ruta completa del archivo, desde el directorio raíz del repositorio git)

Como mencione en "Restore a deleted file in a Git repo", puede restaurar rápidamente una versión anterior de un archivo con un pago y envío.

git checkout $(git rev-list -n 1 HEAD -- "$file")^ -- "$file" 

(con $file ser la ruta completa del archivo desde el directorio raíz del repositorio git actual.)

+6

Básicamente git siempre hace el equivalente a 'foo svn cat @ 1'. Linus probablemente consideraría el comportamiento de 'svn cat -r 1 foo' ser otro de los fallos de svn. (Yo también) – Arrowmaster

Cuestiones relacionadas