Magit – Deshacer la última confirmación – Manipulación del historial

Pregunta:

Esta pregunta de StackOverflow tiene las mejores soluciones / enfoques para deshacer las últimas confirmaciones.

Comencé a usar Magit hace un par de semanas y, después de revisar toda su documentación, todavía no tengo una manera definitiva / mejor de deshacer un cambio cometido por error.

Por ejemplo:
Para deshacer y rehacer la última confirmación podemos usar:

$ git commit -m "Something terribly misguided"
$ git reset HEAD~
<< edit files as necessary >>
$ git add ... 
$ git commit -c ORIG_HEAD # To keep the same commit message

¿Cuál debería ser el mejor flujo de trabajo para reproducir este procedimiento usando Magit ?

Respuesta:

Puede usar magit-reset (vinculado por defecto a x ). La confirmación en el punto se utilizará de forma predeterminada para el indicador, pero puede ingresar cualquier valor de revisión que desee ("HEAD ~" aquí).

Los comandos de restablecimiento se describen en la sección "Restablecimiento" del manual: https://magit.vc/manual/magit/Resetting.html

Para reutilizar el mensaje de confirmación, puede utilizar la opción =C en la ventana emergente de confirmación. Desafortunadamente, el indicador no ofrece actualmente ningún valor de finalización (creo que probablemente debería al menos ofrecer ORIG_HEAD ), pero antes de reiniciar, puede poner el hash de la confirmación actual en el anillo de muerte (por ejemplo, con Cw en el "Head: "línea del búfer de estado) y luego, después de reiniciar, tire de él como el valor para la opción =C


Algunos comentarios adicionales:

  • En lugar de usar =C , puede que le resulte más conveniente comenzar con la confirmación ( cc ) y luego usar git-commit-prev-message ( Mp ) para recorrer los mensajes anteriores.

  • Si solo está modificando la última confirmación, puede magit-commit-amend cambios por etapas a la confirmación anterior con magit-commit-amend ( ca ) o magit-commit-extend ( ce ). (Este último reutiliza el mensaje de confirmación, sin pasar por el búfer COMMIT_EDITMSG).

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım