Git: modificar el texto de un commit

Tutorial de cómo modificar el texto de un commit que hayamos realizado.

git_commit_fire

 

Estás utilizando git y te acabas de dar cuenta que has hecho un «commit» añadiendo en el texto algo erróneo, algo que no debías poner o has cometido un error. ¿Se puede solucionar? Claro que sí. Veamos cómo modificar el texto de ese «commit» para añadir, quitar o modificar aquello que hemos hecho mal.

Hoy acabo de hacer un commit en un repositorio, y me han dicho que muy bien, pero que el texto del commit por favor lo pusiera en inglés. Así que he estado mirando cómo hacer esto, y lo aprendido lo comparto por aquí para futuras consultas y para compartirlo contigo, paciente lector, por si te interesa.

Voy a plantear dos situaciones posibles. Y para realizar las tareas utilizaremos la línea de comandos que sin duda es la gran herramienta para el manejo de repositorios, por encima de cualquier GUI gráfica.

A.- Has realizado un commit que todavía no has subido al repositorio.

Es decir realizando tu tarea has realizado un commit, pero no has hecho push al repositorio, por tanto sigue estando en tu repositorio local. Para ello utilizaremos el comando: git commit --amend

  1. Vamos hasta nuestro repositorio que contiene el commit que queremos modificar.
  2. Escribimos git commit --amend y pulsamos Enter.
  3. Se abre un editor de texto donde podrás modificar el mensaje del commit, y después deberemos guardar y cerrar.

Hecho esto, la próxima vez que realicemos un push al repositorio veremos que el texto de nuestro commit ha cambiado. Por cierto a mí me abrió el editor VI para modificar el texto, recordar que para guardar el texto deberemos: pulsar Esc, y después :wq para escribir los cambios (w=write) y salir (q=quit).

Podéis cambiar el editor de texto que queráis que utilice git cambiando la configuración mediante este comando, para cambiarlo por emacs si es vuestra elección:

git config --global core.editor emacs

B.- Has realizado un commit que ya has subido al repositorio.

Ahora imaginemos que ya has realizado el commit, que no te diste cuenta que había un error o algo erróneo en el texto del commit, y que ya hiciste push al repositorio de tu copia local. Y alguien te dice: «oye, cambia el texto del commit». Bueno, pues veamos qué hacer.

  1. Deberemos seguir los tres pasos anteriores del caso A.
  2. Deberemos forzar un push para que sobreescriba el anterior commit, con el comando:
    git push --force 

Cuidado con el uso de push forzado, si hay más usuarios que tienen clonado el repositorio, puede causar problemas. También existe la posibilidad de modificar commits anteriores o varios commits a la vez. Pero eso ya no quiero incluirlo en este artículo.

La documentación para realizar esto, lo he sacado de este enlace, por si quiere consultarlo:

Espero que os haya resultado útil el mini-tutorial, y os ayude en vuestros trabajos utilizando Git. He escrito más tutoriales para dummies como yo sobre git que puedes encontrar en este enlace:

consola-linux-shell

—————————————-

8 comentarios sobre “Git: modificar el texto de un commit

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.