GIT: 3 comandos útiles que no conocías!
--amend, --patch, y reflog. Conocías?
1. Modifica el commit anterior sin cambiar el mensaje del commit
Cuando es útil?
Ejemplo: Si acabas de commitear (crear un commit) tus cambios (de manera local) con un mensaje/descripción detallada, pero en el momento en que terminaste de hacerlo te diste cuenta que te faltó agregar un cambio.
Magia 🧙♂️
$ git commit --amend --no-edit
2. Mantén tus commits organizados
Si estas trabajando hace muchas horas en una feature/bug pero te das cuenta que los cambios son demasiados para meterlos en un solo commit...
Magia 🧙♂️
$ git add -p <filename>
Con git add -p
(o git add --patch
) puedes elegir "que partes de código de un archivo" querés que se incluyan para hacer el commit.
Despues de correr el comando vas a ver una lista de opciones... a investigar esta opcion que está muy buena!
3. Volvamos al pasado (Cuando todo funcionaba 😅)
Magia 🧙♂️
$ git reflog
Este comando nos dará un listado de los commits realizados, todo lo que tenemos que hacer es buscar el commit al que nos interesa "volver" el cual se encuentra representado por un index
y ejecutar el siguiente comando:
git reset HEAD@{index}
La acción por defecto de git reset
es git reset --mixed
-> Esto significa que los cambios en el directorio en el que estamos trabajando se van a mantener pero sin stagear, es decir, nos quedará todo tal cual lo teníamos pero sin commitear los cambios que "destruyeron todo".
Otras opciones son:
git reset --soft
--soft
-> No modifica el index
, deja los cambios listos para commitear.
git reset --hard
--hard
-> [Usar con cuidado!] Resetea el index, los cambios no commiteados y todos los commits serán eliminados.