Original article: How to undo changes in Git

Puede que ya sepas que Git es un sistema de control de versiones. Lo que generalmente aprendes con Git es a guardar los cambios y confirmarlos a un repositorio remoto. Pero, ¿Cómo deshaces un cambio y vuelves a un estado anterior?

Eso es lo que vamos a cubrir en este artículo.

Local vs. remoto

Es más complicado deshacer algo que ya está en el repositorio remoto. Es por esto que quieres mantener las cosas en tu local hasta que estén dentro de todo confirmadas.

Cuatro situaciones comunes

Vamos a cubrir las siguientes situaciones comunes:

  1. Descartar cambios locales
  2. Corregir las confirmaciones anteriores
  3. Regresar a la confirmación anterior
  4. Revertir una confirmación que se ha enviado al repositorio remoto.

Nota: En las capturas de pantalla de abajo, usé el cliente de Git Fork para Mac OS. Puedes hacer lo mismo en otros clientes de Git similares.

Situación 1: Descartando cambios locales

La primera situación es cuando generaste algunos cambios. Aún no fueron confirmados, y quieres eliminarlos.

Digamos que queremos crear una nueva función. Vamos a agregar un poco de HTML y CSS al proyecto:

<!--In index.html-->
<div class="feature"></div>
```

```css
/* In CSS file */
.feature {
  font-size: 2em; 
  /* Other styles */
}

Para descartar estos cambios:

  1. Ve a staging area
  2. Seleccionar los archivos donde quieres descartar cambios
  3. Has clic derecho en los archivos
  4. Selecciona descartar cambios
0*6JjR02sGP4FgM6zj

Situación 2: Corrigiendo la confirmación anterior

Cuando has creado una confirmación y te olvidaste algunos cambios, y quieres agregarlos en el mensaje de la confirmación anterior.

  1. Ve a staging area
  2. Agrega los archivos para confirmar
  3. Has clic en casilla para corregir
  4. Edita tu mensaje de confirmación
  5. Confirma
0*1wkCc2i9X8JWsBz4

Situación 3: Regresando a una confirmación anterior

Ya tienes algunas confirmaciones en tu repositorio local. Decides entonces que ya no quieres estas conformaciones y que quieres "cargar" tus archivos desde un estado previo.

  1. Ve a historial de Git
  2. Has clic derecho a la confirmación al que quieres regresar
  3. Selecciona reset branch aquí
0*IwWQ9XZNRmCaVvb8
Nota: Sólo puedes volver a una confirmación que no haya sido cargada al repositorio remoto.

Situación 4: Revirtiendo una confirmación que ya fue cargada a un repositorio remoto

Si tienes una confirmación que ya cargaste al repositorio remoto, necesitas revertirlo.

Revertir significa deshacer los cambios creando una nueva confirmación. Si agregaste una línea, esta confirmación va a eliminarla. Si eliminaste una línea, esta confirmación va a añadirla de nuevo.

Para revertir:

  1. Ve a historial de Git
  2. Has clic derecho en la confirmación que quieres revertir
  3. Selecciona revertir confirmación
  4. Asegurarte de que la casilla commit the changes esté seleccionada
  5. Has clic revertir
0*29rgArX4rXn3aH6x
0*fUD5rUESrzaMnbXu

Gracias por leer

¿Este artículo te sirvió? Si lo hizo, espero que consideres compartirlo. Puede que le sirva a alguien más. ¡Gracias!

Este artículo fue publicado originalmente en mi blog.

Regístrate a mi newsletter si quieres más artículos para convertirte en un mejor desarrollador front-end.