Nombre

git-revert – Revertir algunas confirmaciones existentes

Sinopsis

git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>…​
git revert (--continue | --skip | --abort | --quit)

Descripción

Dadas una o más confirmaciones existentes, revierte los cambios que introducen los parches relacionados y registra algunas nuevas confirmaciones que las registren. Esto requiere que su árbol de trabajo esté limpio (sin modificaciones de la confirmación HEAD).

Nota: git revert se usa para registrar algunas confirmaciones nuevas para revertir el efecto de algunas confirmaciones anteriores (a menudo solo una defectuosa). Si desea deshacerse de todos los cambios no confirmados en su directorio de trabajo, debería ver git-reset[1], particularmente el --hard opción. Si desea extraer archivos específicos como estaban en otra confirmación, debería ver git-restore[1], específicamente el --source opción. Tenga cuidado con estas alternativas ya que ambas descartarán los cambios no confirmados en su directorio de trabajo.

Ver “Restablecer, restaurar y revertir” en git[1] por las diferencias entre los tres comandos.

Opciones

Se compromete a revertir. Para obtener una lista más completa de formas de deletrear los nombres de las confirmaciones, consulte gitrevisions[7]. También se pueden proporcionar conjuntos de confirmaciones, pero no se realiza ningún recorrido de forma predeterminada, consulte git-rev-list[1] y es --no-walk opción.

-mi
–editar

Con esta opción, git revert le permitirá editar el mensaje de confirmación antes de realizar la reversión. Este es el valor predeterminado si ejecuta el comando desde una terminal.

-m número-padre
–número principal principal

Por lo general, no puede revertir una combinación porque no sabe qué lado de la combinación debe considerarse la línea principal. Esta opción especifica el número principal (a partir de 1) de la línea principal y permite revertir para revertir el cambio relativo al padre especificado.

Revertir una confirmación de fusión declara que nunca querrá los cambios en el árbol generados por la fusión. Como resultado, las fusiones posteriores solo traerán cambios en el árbol introducidos por confirmaciones que no son ancestros de la fusión revertida previamente. Esto puede o no ser lo que desea.

Ver el Cómo revertir una fusión defectuosa para más detalles.

–sin editar

Con esta opción, git revert no iniciará el editor de mensajes de confirmación.

–cleanup =

Esta opción determina cómo se limpiará el mensaje de confirmación antes de pasarlo a la maquinaria de confirmación. Ver git-commit[1] para más detalles. En particular, si el <mode> se le da un valor de scissors, se anexarán unas tijeras MERGE_MSG antes de transmitirse en caso de conflicto.

-norte
–no comprometerse

Por lo general, el comando crea automáticamente algunas confirmaciones con mensajes de registro de confirmaciones que indican qué confirmaciones se revertieron. Esta bandera aplica los cambios necesarios para revertir las confirmaciones nombradas a su árbol de trabajo y al índice, pero no realiza las confirmaciones. Además, cuando se usa esta opción, su índice no tiene que coincidir con la confirmación HEAD. La reversión se realiza contra el estado inicial de su índice.

Esto es útil cuando se revierte el efecto de más de una confirmación en su índice en una fila.

-S[<keyid>]
–gpg-sign[=<keyid>]
–no-gpg-sign

GPG-sign confirma. los keyid el argumento es opcional y por defecto es la identidad del confirmador; si se especifica, debe pegarse a la opción sin espacio. --no-gpg-sign es útil para contrarrestar tanto commit.gpgSign variable de configuración, y anterior --gpg-sign.

-s
–cerrar sesión

Agrega un Signed-off-by tráiler al final del mensaje de confirmación. Ver la opción de firma en git-commit[1] para más información.

–strategy =

Utilice la estrategia de fusión dada. Solo debe usarse una vez. Consulte la sección MERGE STRATEGIES en git-merge[1] para detalles.

-X
–strategy-option =

Pase la opción específica de la estrategia de fusión a la estrategia de fusión. Ver git-merge[1] para detalles.

–rerere-autoupdate
–no-rerere-autoupdate

Si es posible, permita que el mecanismo de repetición actualice el índice con el resultado de la resolución automática de conflictos.

Subcomandos del secuenciador

–Seguir

Continúe la operación en curso utilizando la información en .git/sequencer. Se puede usar para continuar después de resolver conflictos en una selección o reversión fallida.

–saltar

Omita la confirmación actual y continúe con el resto de la secuencia.

–dejar

Olvídese de la operación actual en curso. Se puede usar para borrar el estado del secuenciador después de una selección o reversión fallida.

–abortar

Cancele la operación y vuelva al estado de secuencia previa.

Ejemplos de

git revert HEAD~3

Revertir los cambios especificados por la cuarta última confirmación en HEAD y crear una nueva confirmación con los cambios revertidos.

git revert -n master~5..master~2

Revertir los cambios realizados por las confirmaciones desde la quinta última confirmación en el maestro (incluido) hasta la tercera última confirmación en el maestro (incluido), pero no cree ninguna confirmación con los cambios revertidos. La reversión solo modifica el árbol de trabajo y el índice.

Ver también

git-cherry-pick[1]