Eliminar commits locales en Git

John Wachira 21 diciembre 2022
Eliminar commits locales en Git

Este artículo discutirá los pasos para deshacer commits locales. Veremos cómo eliminar una soel commit de múltiples commits en Git.

Eliminar commits locales en Git

Discutiremos cómo eliminar las últimas commits en su repositorio local para mejorar las cosas.

Usualmente usamos el comando git reset para eliminar los últimos cambios en nuestro repositorio. Si desea eliminar la última confirmación, use el siguiente comando.

git reset --hard HEAD~1

El argumento HEAD~1 eliminará un commit.

Podemos usar un argumento N-ésimo, como se muestra a continuación.

git reset --hard HEAD~N

Si desea eliminar las últimas cinco commits en su repositorio, reemplace N con su valor.

Podemos eliminar un commit específica con el siguiente comando.

git reset --hard <sha1-commit-hash>

Historial de commits

Use su equivalente de lo anterior en el comando.

Si desea deshacer los cambios realizados por un commit ubicada entre su historial del commit, use el comando git revert. Este comando deshará los cambios realizados por el commit seleccionada.

git revert <sha1-commit-hash>

Sin embargo, git revert no eliminará el commit. Usamos el git rebase en el formulario interactivo.

git rebase -i <sha1-commit-hash>

Verá un editor con una lista de las commits circundantes después de ejecutar el comando anterior. Puede escribir drop al principio para eliminar el commit que desee.

Si desea enviar los cambios a su repositorio remoto, ejecute el siguiente comando.

git push --force-with-lease origin HEAD

El comando anterior no afectará los cambios realizados por otros desarrolladores en el repositorio remoto. Es una opción más segura para el comando git push origin HEAD --force que sobrescribe todos los cambios realizados por otros desarrolladores en un repositorio remoto.

Si desea revertir sus cambios locales al estado actual de su repositorio remoto, ejecute el siguiente comando.

git reset --hard origin/<branch_name>

Puede encontrar un commit eliminada con el comando git reflog.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Reset

Artículo relacionado - Git Revert