Como a algunos nos paso, nos vimos en la necesidad de migrar de paradigma de control de versiones, anteriormente yo utilizaba svn el cual tenia varios inconvenientes mismos que no voy a nombrar en este post. El caso es que en el camino podemos cometer varios errores, y git es tan genial que nos permite enmendarlos en cualquier momento.

A continuación presento una lista de los errores que cometí y que después de investigar logre resolver (no sin haber metido la pata un par de veces).

Aqui van:

Modificar el comentario del ultimo commit

Cometi un error o se me olvido agregar algo a la descripción del commit, entonces:

git-commit --amend

Luego solo modifico el comentario

Modificar el ultimo commit

Hice commit de código defectuoso y quiero corregirlo antes del push

emacs ruta/al/archivo
#corregir y guardar
git-add ruta/al/archivo
git-commit -v --amend

Entonces el ammend modificara el ultimo commit sin necesidad de hacer otro.

Quitar un archivo incluido equivocadamente en el ultimo commit

Incluí un archivo en el ultimo commit que no se supone que debería estar ahí (e.g: DS_STORE)

git-reset HEAD^1 ruta/al/archivo #dale con confianza tus cambios no se pierden
git-commit --amend -v
git-commit -v ruta/al/archivo # hacer el commit con los nuevos cambios

Corregir errores en commits anteriores 

Si queremos corregir un error, no necesariamente en el ultimo commit:

git-checkout <hash-commit-malo>
   ... hacer cambios ...
git-commit --amend -v
git-rebase --onto HEAD <hash-commit-malo> <hash-del-branch-actual>

bien si después de esto ocurre algún conflicto tendran que resolverlo manualmente, y luego:

git-rebase --continue

Bueno no es que sea gran cosa, pero al menos estos me han salvado de penas en repetidas ocasiones, espero alguien lo encuentre útil también 🙂

Categorized in: