Manipular el historial es muy común para los desarrolladores que trabajan con Git regularmente. De hecho, los desarrolladores a menudo necesitan eliminar confirmaciones del historial de Git. Afortunadamente, Git proporciona muchos comandos para hacer posible esta operación.
Vamos a ello 😎.
Antes de manipular el historial de Git, asegúrese de que su directorio de trabajo esté libre de cambios utilizando el comando de estado de git .
Para eliminar confirmaciones de un servidor remoto, primero deberá eliminarlas de su historial local.
Si las confirmaciones que desea eliminar se colocan en la parte superior de su historial de confirmaciones, use el comando git reset --hard
con el objeto HEAD
y la cantidad de confirmaciones que desea eliminar.
git reset --hard HEAD~1
Este comando eliminará la última confirmación .
git reset --hard HEAD~3
Este comando eliminará las últimas tres confirmaciones .
También puede eliminar hasta una confirmación específica usando el hash de una confirmación, así:
git reset --hard <hash>
Sin embargo, si desea eliminar las confirmaciones no consecutivas, deberá usar una reorganización interactiva.
git reflog
.git rebase -i <hash>
.git rebase --continue
o comience de nuevo abortando la reorganización .Para eliminar confirmaciones desde el control remoto, deberá enviar sus cambios locales al control remoto mediante el comando git push .
git push origin HEAD --force
Dado que su historial local difiere del historial remoto, debe usar la opción force
.
Como puede ver, Git facilita la eliminación de confirmaciones de un servidor remoto.
Sin embargo, debe tener cuidado al usar el comando git push
con la opción de force
porque podría perder el progreso si no tiene cuidado.
¡Gracias por leer!