Git Revertir múltiples commits

Azhar Bashir Khan 30 enero 2023
  1. Usando git revert para revertir múltiples commits en Git
  2. Usando git reset para revertir múltiples commits en Git
Git Revertir múltiples commits

En este tutorial, veremos cómo revertir varias commits en Git.

En Git, es posible que hayamos realizado muchas commits para el desarrollo de algunas funciones o hayamos realizado algunas correcciones de errores.

Ahora podemos decidir tirar este trabajo. Por lo tanto, para devolver el repositorio al estado anterior a estos cambios, debemos revertir las múltiples commits realizadas.

Podemos usar el comando git revert para revertir varias commits en Git.

Otra forma de revertir varias commits es usar el comando git reset.

Ahora ilustraremos ambos con un ejemplo.

Usando git revert para revertir múltiples commits en Git

Supongamos que hemos realizado varias commits para algunas correcciones de errores.

Podemos ver esas commits en el registro de Git, de la siguiente manera.

$ git log --oneline
17b787d bug3 fixed
1fefb57 bug2 fixed
8b3560b bug1 fixed
784065c feature1 developed
...

Ahora, decidimos descartar esas correcciones de errores y revertir el estado del repositorio antes del estado bug1 fixed.

Por lo tanto, podemos usar el comando git revert con la opción --no-commit. La sintaxis del comando es git revert --no-commit <commit>.

Por lo tanto, para revertir las tres commits de las correcciones de errores realizadas, debemos hacer lo siguiente.

$ git revert --no-commit 17b787d784065c
$ git revert --no-commit 1fefb57
$ git revert --no-commit 8b3560b

Por lo tanto, el repositorio en Git ahora está en el estado antes de cometer el bug1 fixed.

Hemos usado el nombre sha1 de las commits para revertir cada confirmación.

Necesitamos confirmar este estado del árbol de trabajo en el repositorio de Git de la siguiente manera.

$ git commit -m "the fixes for bugs 1 2 3 reverted"

Usando git reset para revertir múltiples commits en Git

Supongamos que tenemos algunas commits de combinación en el repositorio. Entonces, la solución anterior que usa git revert no funcionará.

Necesitamos usar el comando git reset en tales casos.

Por lo tanto, para revertir varias commits usando git reset en Git, debemos hacer lo siguiente.

$ git reset --hard 784065c
$ git reset --soft ORIG_HEAD
$ git commit

Por lo tanto, hemos utilizado el comando git reset para revertir el repositorio al commit, a saber. 784065c feature1 developed, que fue inmediatamente antes de la primera corrección de errores en el historial de commits.

Por lo tanto, esto funciona incluso cuando tenemos algunas commits de fusión.

Artículo relacionado - Git Commit

Artículo relacionado - Git Reset