Git Revertir múltiples commits
-
Usando
git revert
para revertir múltiples commits en Git -
Usando
git reset
para revertir múltiples commits en Git
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
- Agregar todos los archivos para confirmar excepto un archivo
- Agregar un archivo a la última confirmación en Git
- Cierra el editor de Git Commit en Windows
- Combinar selectivamente los cambios de diferentes ramas en Git
- Comprender la función de aprobación de Git Commit
- Confirmaciones de la lista de Git
Artículo relacionado - Git Reset
- Diferencia entre Git RM --Cached y Git Reset File
- Diferencia entre los comandos Git Reset, Revert y Checkout
- Haga que la rama de desarrollo sea idéntica a la rama principal
- Revertir una combinación de Git con conflictos
- Varios métodos utilizados para eliminar los cambios locales de Git
- Deshacer cambios en Git