2010-11-22 13 views

Respuesta

34
git checkout -p $REF -- path/to/file 

Dónde $REF es un nombre de referencia o cometer ID que especifica el commit que desea tomar el estado del archivo. Por ejemplo, para revertir selectivamente los cambios realizados en la última confirmación, use HEAD^.

+3

Más precisamente, eso le permitirá seleccionar selectivamente versiones de contenido de la confirmación anterior; los cambios entre su confirmación actual y el árbol de trabajo también serán descartados. – Cascabel

+0

Sí, he hecho esto antes. Pero esto revierte todos los cambios? Estoy buscando revertir solo algunos de los cambios. – dkinzer

+1

@DKinzer: No, la opción '-p' le permitirá seleccionar de forma interactiva hunks para aplicar a su árbol de trabajo. – cdhowie

2
git difftool $REF -- /path/to/file 

donde $REF es un nombre de referencia o cometen ID que especifica el commit desea tomar el estado del archivo desde. Por ejemplo, para revertir selectivamente los cambios realizados en la última confirmación, use HEAD ^.

Esta pregunta ya fue respondida por @cdhowie, pero me resulta un poco mejor usar un difftool interactivo como meld para restaurar selectivamente antiguas líneas/código de código, especialmente si hay una nueva presentación, difícil de encontrar error en el código.

Cuestiones relacionadas