diff --git a/notes/Git.md b/notes/Git.md index 59fee39..35350c3 100644 --- a/notes/Git.md +++ b/notes/Git.md @@ -22,4 +22,14 @@ En caso de que sepamos que haremos un commit que luego no necesitaremos, podemos - `git commit --fixup [commit hash]` -> descarta el commit message de este commit y mantiene el del commit de referencia - `git commit --squash [commit hash]` -> git juntará los mensajes de todos los commits a hacer squash y el commit de referencia. -Finalmente podemos hacer `git rebase -i --autosquash` y git eligirá las opciones necesarias a tomar en vez de tener que hacerlo de manera manual. \ No newline at end of file +Finalmente podemos hacer `git rebase -i --autosquash` y git eligirá las opciones necesarias a tomar en vez de tener que hacerlo de manera manual. + +## Revertir cambios + +Si necesitamos _"desacer"_ los cambios introducidos en uno o multiples commits, podemos utilizar ˋgit revert --no-edit older_commit_hashˆ..newer_commit_hashˋ, donde: + +- git realizará un nuevo commit con los cambios contrarios por cada commit en el rango +- utilizar ˋˆˋ en el ˋold_commit_hashˋ incluirá ese commit en la reversión de cambios, si no se agrega se empezará a revertir de un commit más adelante. +- ˋ--no-editˋ es utilizado para que git no nos pregunte por el message de cada nuevo commit +- primero debe ser el commit más antiguo, porque git creará nuevos commits en orden provisto y de hacerlo al revez aparecerán conflictos +- si solo se quiere revertir un commit, se puede especificar solo ese hash y ya