git – ¿Cómo puedo revertir 1 compromiso?

Pregunta:

Tengo 2 confirmaciones que no presioné:

$ git status
# On branch master
# Your branch is ahead of 'faves/master' by 2 commits.

¿Cómo puedo revertir mi primero (el más antiguo), pero me quedo con el segundo?

 $ git log
commit 3368e1c5b8a47135a34169c885e8dd5ba01af5bb
...

commit baf8d5e7da9e41fcd37d63ae9483ee0b10bfac8e
...

De aquí:

http://friendfeed.com/harijay/742631ff/git-question-how-do-i-rollback-commit-just-want

¿Solo necesito hacer:

git reset --hard baf8d5e7da9e41fcd37d63ae9483ee0b10bfac8e

¿Es decir?

Respuesta:

La forma más segura y probablemente más limpia de hacerlo es rebasar de forma interactiva.

git rebase -i HEAD^^

O,

git rebase -i baf8d5e7da9e41fcd37d63ae9483ee0b10bfac8e^

Desde allí, puede aplastar las confirmaciones, lo que pone una o más confirmaciones juntas en la confirmación anterior. Para eliminar por completo una confirmación del historial, elimine la línea de la lista.

Puede revertir una confirmación con git revert pero agregará más mensajes de confirmación al historial, lo que puede ser indeseable. Use el parámetro -n para decirle a Git que no realice la reversión de inmediato. Puede cambiar la base de forma interactiva y aplastarlos hasta un compromiso anterior para mantener las cosas limpias.

Si las dos confirmaciones con las que está trabajando aquí afectan a los mismos archivos, es posible que vea un conflicto de fusión.

Restablecer el repositorio con git reset --hard debe hacerse con cuidado, ya que no se puede deshacer.

La reescritura del historial debe hacerse con cuidado.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım