viernes, 10 de agosto de 2012

Modificando el último commit con git rebase

Algunas veces, luego de hacer un commit, vemos que olvidamos algún pequeño detalle, y por cuestiones de "prolijidad", hubiéramos querido incluirlo en el commit recién realizado.

Generalmente, en estos casos utilizo git reset --soft HEAD^ para recuperar el commit anterior, pero siempre me pareció que debería haber alguna forma mejor. Utilizando rebase, el proceso es mucho más fácil, ya que evitamos, por ejemplo, re-ingresar el mensaje de commit, con la posibilidad de modificarlo si hace falta.

Los comandos a utilizar son:


$ git rebase --interactive HEAD^

Ahora git presentará un editor, donde mostrará una línea con el commit a editar, por ejemplo:

pick 9245320 Cambios en home: agregue nombre de usuario logueado

Hay que cambiar esta línea, reemplazando "pick" por "edit". 

edit 9245320 Cambios en home: agregue nombre de usuario logueado

Luego aparecerá:

Stopped at 9245320... Cambios en home: agregue nombre de usuario logueado
You can amend the commit now, with

        git commit --amend

Once you are satisfied with your changes, run

        git rebase --continue

$ git add <archivos modificados>


$ git rebase --continue

Este último comando nos presentará el editor de texto con el mensaje de commit original, el que podremos modificar si hace falta.

No hay comentarios: