restaurar - ¿Cómo puedo revertir un fragmento específico de un commit en git?
git ver commits pendientes (3)
Para recuperar un archivo eliminado de una confirmación anterior, utilicé la respuesta aquí:
Encuentra y restaura un archivo eliminado en un repositorio Git
git checkout <deleting_commit>^ -- <file_path>
Me pregunto si hay una manera de revertir rápidamente una parte específica de un compromiso.
Puedo generar un diff
entre dos confirmaciones o HEAD
para ver la diferencia.
¿Cómo puedo revertir solo uno de esos trozos (o mejor aún, un conjunto de trozos específicos)?
git checkout -p $REF -- path/to/file
Donde $REF
es un nombre de referencia o ID de confirmación que especifica la confirmación de la que desea tomar el estado del archivo. Por ejemplo, para revertir selectivamente los cambios realizados en la última confirmación, use HEAD^
.
git difftool $REF -- /path/to/file
donde $REF
es un nombre de referencia o ID de confirmación que especifica la confirmación de la que desea tomar el estado del archivo. Por ejemplo, para revertir selectivamente los cambios realizados en la última confirmación, use HEAD ^.
Esta pregunta ya fue respondida por @cdhowie, pero me parece un poco más agradable usar una combinación de herramientas interactiva como la meld
para restaurar de forma selectiva los códigos antiguos, especialmente si hay un error recientemente introducido y difícil de encontrar en el código. .