Deshacer el último commit en Git
Mientras trabajamos con Git, nos enfrentamos a varias situaciones en las que deliberadamente queremos deshacer el último commit porque nos gustaría volver a confirmarla extensamente o incluso eliminarla por completo debido a errores que cometimos en el pasado. Solo piense cuántas personas más usarían Git si tuviera opciones simples de Deshacer último commit
o incluso un atajo de teclado que sería la característica más popular.
Tenemos un comando directo y poderoso que hace lo mismo que se discutió anteriormente. Ese comando es realmente poderoso, ya que descarta el último commit y restaura HEAD (la rama actual) al estado que tenía antes de que se realizara el último commit en ese repositorio. Puede ser algo confuso para los nuevos usuarios de Git, pero una vez que lo tengamos en nuestras manos, será muy fácil para nuestra caja de herramientas Git.
Deshacer el último commit en Git (versión larga)
Primero, abra la terminal deseada y ejecute el estado Git. Esto nos mostrará el estado de nuestro repositorio, incluida la lista de todas los commits que hemos realizado. La mayoría de las veces, dice que hay tres commits.
El primero es un commit con una rama llamada master
, que es la rama en la que estamos actualmente en el repositorio. El segundo es un commit con una nueva rama llamada Dev
, y finalmente, el tercero es un commit con otra rama llamada NewDev
.
Los dos últimos son interesantes, ya que son los que queremos deshacer. Queremos descartar el commit que hemos realizado para Dev
y NewDev
y restaurar HEAD al estado que tenía antes de realizar esos commits. Ejecutemos el siguiente comando y veamos qué sucede después de eso:
$ git reset --hard
HEAD está ahora en el estado anterior donde estaba anteriormente. Como podemos ver, el nuevo puntero HEAD ahora vuelve a la siguiente commit. Tenga en cuenta que ya no hay un commit marcada como Dev
. Además, el commit marcada como NewDev
ha vuelto al next commit
.
Deshacer el último commit en Git (versión corta)
Si queremos deshacer el último commit, asegúrese de que estamos en la rama de la que queremos deshacer el commit, luego ejecute git reset –hard. Si queremos deshacer el último commit en la rama actual, asegúrese de que estamos en master
, luego ejecute el siguiente comando.
git reset --hard origin/master.
Los procedimientos mencionados anteriormente solo se pueden aplicar cuando estamos completamente seguros de que ya no necesitamos estos cambios. Pero a la inversa, si necesitamos estos cambios como cambios locales no commits en nuestra copia de trabajo, entonces para este caso, el comando reset
es nuestra solución para este problema:
$ git reset --soft HEAD~1
reset
deshará nuestra rama HEAD actual a un punto específico. En nuestro ejemplo mencionado anteriormente, estamos ordenando volver a el último commit antes del deshacer reciente, creando de manera beneficiosa nuestra última confirmación no realizada. El indicador --soft
garantiza que se restablezcan los cambios en las revisiones deshechas.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedInArtí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