Los errores pueden pasar, el desarrollo de software es un proceso creativo y que involucra personas, las personas cometemos errores.
Para eso es git, es nuestro helper, nuestra muralla para combatir errores.
La recomendación para sacar el máximo provecho a este tutorial es preparar un ambiente para ver en acción como operan las diferentes condiciones.
Con todo lo que has aprendido hasta acá va a ser muy fácil para ti preparar ese ambiente de trabajo. Puedes usar este cómo base para iniciar github
1 Descartar todos los cambios en un archivo (uncommitted)
Pre: Edita un archivo que estemos traqueando y que no hayamos confirmado los cambios
-> git restore <file-name>
o
-> git checkout <filename>
2 Restaurar un archivo eliminado (uncommitted)
Pre: Elimina un archivo que estemos traqueando y que no hayamos confirmado el borrado
-> git restore <file-name>
3 Descartar algunas líneas de un archivo (uncommitted)
Pre: Edita un archivo que estemos traqueando diferentes líneas de código y que no hayamos confirmado los cambios
-> git restore -p <file-name>
4 Descartar todos los cambios en local (uncommitted)
Pre: Edita multiples archivo que estemos traqueando diferentes líneas de código y que no hayamos confirmado los cambios
-> git restore .
5 Arreglar el último commit
Pre: Has un commit y copia mal el mensaje o deja algunos archivos sin completar
-> git commit --amend -m <new-message>
Si quieres agregar algo que olvidaste
-> git add .
-> git commit --amend -m <new-message>
o git commit --amend --no-edit
amend es un comando que reescribe el historial y si lo reescribimos debemos tener cuidado con los cambios en remoto
6 Revertir un commit en la mitad del proceso
Pre: Busca un estado previo(hash) de un commit para restaurar a ese estado
-> git revert <hash>
Cuando se hace esto git va a crear un nuevo commit con el estado del revert
7 Resetear a una versión anterior
Pre: Busca un estado previo(hash) de un branch para resetear a ese estado
-> git reset --hard <#hash>
Cuidado que el --hard va a eliminar los commits después del hash destino
-> git reset --mixed <#hash>
Mantienen los cambios descartados como cambios locales, para que puedas trabajar con ellos, modificarlos, etc.
8 Resetear un archivo a versión anterior
Pre: Busca un estado previo(hash) de un branch para resetear a ese estado
-> git restore --source <#hash> <file-name>
9 Recuperar commits borrados
Pre: Después de realizar el punto #8 puedes buscar el hash desde donde partiste para hacer el reset
-> git reflog
search the hash o HEAD# antes del reset
-> git branch <branch-name> <#hash>
10 Recuperar una rama borrada
Pre: Buscar el hash desde donde partiste para borrar la rama
-> git reflog
search the hash o HEAD# de la rama
-> git branch <branch-name> <#hash>
11 Mover un commit a una nueva rama
Pre: Crea un commit en una branch
-> git branch <branch-name>
-> git reset HEAD~1 --hard
12 Mover un commit a una rama diferente
Pre: Crea dos branch con al menos un commit en cada una, mueve uno de los commit a la otra rama
-> movernos a la rama destino switch
o checkout
-> git cherry-pick <hash>
-> movernos a la rama origen de donde movimos el commit
-> git reset HEAD~1 --hard
Conclusiones
Si llegaste hasta acá gracias por todo.
Puedes consultar más casos acá, adicional te invito a dejarme nuevos casos y si quieres que hagamos algunos más.
Puedes buscarme en Linkedin
Referencias
Gracias por llegar hasta acá, considera dar un like, compartir y nos vemos en un próximo artículo.
Top comments (0)