Git: modificar un mensaje de confirmación existente

Los errores son comunes, todos los cometemos. Por eso le ponen borradores a los lápices. Y esto no es diferente con herramientas como Git. Si bien algunos cambios pueden ser difíciles de deshacer, generalmente hay una manera.

Entonces, ¿qué sucede si desea modificar un mensaje de confirmación existente? Afortunadamente, esto es fácil de hacer en Git, pero el método puede cambiar un poco dependiendo de algunos factores.

Arreglar la última confirmación, aún no enviada a control remoto

Este es el caso más simple ya que no hay necesidad de modificar un repositorio remoto, solo necesita modificar el suyo propio. En este caso, puede utilizar el siguiente comando:

$ git commit --amend

Ejecutar este comando abrirá un editor donde puede modificar el pasado mensaje de confirmación. Una vez que haya terminado y guarde/cierre el editor, se cambiará el mensaje de confirmación.

Personalmente, prefiero hacer la mayoría de las cosas en la línea de comandos, lo que puede hacer agregando un argumento y un mensaje al comando anterior:

$ git commit --amend -m "Added a new file"

Hacerlo de esta manera no abrirá el editor, sino que modificará el mensaje de confirmación inmediatamente.

Corregir último compromiso, enviado a remoto

Este es otro caso común, y es un poco más difícil de solucionar, no solo porque necesitamos modificar nuestro propio repositorio, sino que también necesitamos modificar el repositorio remoto, que podría estar más adelante que su sucursal local.

El primer paso es modificar el último compromiso, tal como lo hicimos en la sección anterior:

$ git commit --amend -m "Added a new file"

Luego, debe enviar estos cambios al repositorio remoto. Sin embargo, esto debe hacerse usando el --force bandera.

$ git push <remote> <branch> --force

Necesitamos hacerlo de esta manera para sobrescribir el repositorio remoto con nuestro propio estado local.

Tenga en cuenta que al forzar el empuje, también perder cualquier confirmación en la sucursal local que aún no tenga en su sucursal local. ¡Proceda con precaución!

Consulte nuestra guía práctica y práctica para aprender Git, con las mejores prácticas, los estándares aceptados por la industria y la hoja de trucos incluida. Deja de buscar en Google los comandos de Git y, de hecho, aprenden ella!

Si puede detectar el error lo suficientemente rápido, entonces hacer el cambio no será un problema. De lo contrario, es posible que deba encontrar otra solución para evitar perder los cambios realizados después del mensaje de confirmación que desea cambiar.

Usar reorganización interactiva

Otra opción, que es más flexible que las soluciones anteriores descritas, es utilizar un rebase interactivo. Hacer esto le permite inspeccionar las últimas N confirmaciones y realizar cambios en ellas, incluida la selección, el aplastamiento, etc.

Para iniciar el rebase, puede usar el siguiente comando:

$ git rebase -i HEAD~n

Aquí, n es el número de confirmaciones que desea inspeccionar y editar. Luego verá una lista de confirmaciones, similar a esta:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















Como puede ver, se enumeran todas las últimas N confirmaciones y puede modificar sus mensajes según sea necesario.

Sello de tiempo:

Mas de Abuso de pila