Deshacer cambios

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Cuando quiera deshacer cambios en un repositorio Git, primero decida qué tipo de cambios los que quiere deshacer. Por ejemplo, puedes:

  • Descartar los cambios sin confirmar en un archivo revirtiendo el archivo a su última versión confirmada. Un archivo también se puede revertir a cualquier versión confirmada.
  • Revertir una rama a un estado anterior restableciéndola en una confirmación anterior.
  • Deshacer los cambios realizados por una confirmación compartida creando una nueva confirmación que revierta los cambios. Dado que este método no reescribirá el historial de confirmaciones existente, resulta adecuado para revertir los cambios realizados por confirmaciones que se han insertado y que otros usuarios utilizan.
  • Corregir la última confirmación para modificar su contenido o mensaje. Para obtener más información, vea Procedimiento para actualizar la última confirmación.
  • Corregir un problema provocado por una confirmación anterior creando una nueva confirmación que incluya la corrección. Para obtener más información, vea Procedimiento para crear una confirmación.

En este artículo, aprenderá a:

  • Descartar cambios sin confirmar en un archivo
  • Revertir una rama a un estado anterior
  • Deshacer los cambios realizados por una confirmación compartida

Descartar cambios sin confirmar en un archivo

Si ha hecho cambios en un archivo, pero no los ha confirmado, puede usar el comando checkout de Git para descartar los cambios rápidamente y revertir el archivo a su última versión confirmada.

El comando checkout de Git también puede revertir un archivo a cualquier versión confirmada, si se especifica el identificador de confirmación.

Advertencia

Si existe la posibilidad de que quiera volver a aplicar los cambios que el comando checkout de Git va a descartar, considere la posibilidad de guardar provisionalmente los cambios en su lugar.

Visual Studio 2022 proporciona una experiencia de control de versiones de Git mediante el menú Git, Cambios de Git y los menús contextuales del Explorador de soluciones. En Visual Studio 2019, versión 16.8, también se ofrece la interfaz de usuario de Git Team Explorer. Parar obtener más información, vea la pestaña Visual Studio 2019: Team Explorer.

Visual Studio permite descartar los cambios sin confirmar en un archivo revirtiendo el archivo a su última versión confirmada.

En la ventana Cambios de Git, identifique el archivo con los cambios que quiera descartar. Si el archivo está en la sección Cambios "staged", haga clic con el botón derecho en él y seleccione Sacar del "stage". Los archivos "unstaged" aparecen en la sección Cambios.

Captura de pantalla de las opciones del menú contextual de los archivos

Si el archivo está en la sección Cambios, haga clic con el botón derecho en él y seleccione Deshacer cambios para descartar todos los cambios en el archivo desde la última confirmación.

Captura de pantalla de las opciones del menú contextual de los archivos cambiados en Visual Studio

Revertir una rama a un estado anterior

Puede revertir una rama a un estado anterior usando el comando reset de Git para restablecer la rama a una confirmación anterior. El comando reset de Git afecta a todos los archivos de todas las carpetas de rama.

reset tiene algunas opciones. La opción predeterminada es revertir la rama a una confirmación anterior, pero conservar todos los cambios posteriores como cambios sin confirmar. Otra opción es revertir una rama a una confirmación anterior descartando todos los cambios en todos los archivos de rama desde que tuvo lugar esa confirmación.

Advertencia

No restablezca una rama a una confirmación anterior a la última confirmación si la última confirmación se ha insertado y compartido con los demás. Si lo hace, el historial de rama local dejará de coincidir con el historial de rama remoto. En el caso de las ramas compartidas, vea Deshacer los cambios realizados por una confirmación compartida.

  1. En la barra de menús, elija Git > View Branch History (Ver historial de rama) para abrir la pestaña Historial de la rama actual.

    Captura de pantalla de la opción para ver el historial de rama en el menú Git de Visual Studio

  2. En la pestaña Historial de la rama actual, haga clic con el botón derecho en la confirmación que quiera restablecer y seleccione Restablecer > Eliminar cambios (--hard) para restablecer la rama a la confirmación seleccionada y eliminar todos los cambios en todos los archivos de rama desde esa confirmación. También puede seleccionar Restablecer > Conservar cambios (--mixed) para restablecer la rama a la confirmación seleccionada y conservar todos los cambios posteriores como cambios "unstaged".

    Captura de pantalla de la opción Restablecer en el menú contextual de una confirmación en la ventana Historial de Visual Studio

Deshacer los cambios realizados por una confirmación compartida

Puede deshacer los cambios realizados por una confirmación mediante el comando revert de Git para crear una nueva confirmación que revierta esos cambios. El comando revert de Git no elimina la confirmación original. Este método es adecuado para deshacer los cambios realizados por una confirmación compartida, ya que el comando revert de Git no alterará el historial de confirmaciones anterior y, por tanto, los historiales de rama local y remoto seguirán coincidiendo.

  1. En la barra de menús, elija Git > View Branch History (Ver historial de rama) para abrir la pestaña Historial de la rama actual.

    Captura de pantalla de la opción para ver el historial de rama en el menú Git de Visual Studio

  2. En la pestaña Historial de la rama actual, haga clic con el botón derecho en la confirmación que quiera revertir y seleccione Revertir para crear una confirmación que deshaga los cambios realizados por la confirmación seleccionada.

    Captura de pantalla de la opción Revertir del menú contextual de una confirmación en la ventana Historial de Visual Studio

Pasos siguientes