en este post, veremos cómo eliminar commits de una rama de Git.,et
la idea aquí es forzar el restablecimiento del directorio de trabajo para eliminar todas las confirmaciones que vienen después de la confirmación especificada y luego hacer un push de fuerza:
1
|
git reset hard hard
|
puede hacer referencia a un commit a través de su ascendencia, o usando su hash SHA-1 completo, o proporcionando el hash parcial que debe tener al menos 4 caracteres de largo e inequívoco.,
1
2
3
4
|
# Desechar los primeros 4 comete
git reset –hard HEAD~4
|
Si los comete están presentes en el repositorio remoto, necesitará de la fuerza de empuje el hard reset al repositorio remoto.,
1
2
3
4
|
# Force Push updates to the remote repository
git push
|
Here’s a live example:
Note, that any changes made in the working directory since the last commit are silently discarded., Para evitarlo, Guarde sus cambios locales primero llamando al comando git-stash
que a su vez también revierte el directorio de trabajo a la revisión HEAD
después de guardar sus modificaciones locales. git reset --hard HEAD
se utiliza a menudo para eliminar todos los cambios no confirmados para que coincidan con la confirmación más reciente en el directorio de trabajo.
En caso de que desee mantener su trabajo y solo deshacer la confirmación, puede usar la opción --soft
.,
1
|
git reset –soft
|
This is demonstrated below:
git revert
It is not a good idea to do a force push on a public or a shared repository; do a git-revert
instead., Crea un nuevo commit que deshace todos los cambios realizados en el commit especificado, luego lo aplica a la rama actual.,iv id=»e6e72cc751″>
Here’s a live example:
Interactive Rebasing
Another plausible way of removing comments is using git-rebase
command.,
1
|
git rebase-i
|
Ejecutar comando anterior, se abrirá un editor con todas las comete en su rama actual, el que venga después que los cometen. Para soltar un commit, simplemente reemplaza el comando ‘ pick ‘por’ drop ‘ y cierra el editor. También puede eliminar la línea correspondiente.,
El siguiente comando para quitar todo el commit e78d8b1
en uno ir con --rebase-merges
modo --onto
opción.,
1
|
git rebase -r –onto e78d8b1^ e78d8b1
|
(20 votes, average: 5.,00 de 5)
Gracias por leer.