Publicación del libro Oh Shit, Git?
(ohshitgit.com)-
Cómo resolver problemas de Git
- Se destaca que Git es una herramienta compleja y propensa a errores, y que puede ser difícil encontrar cómo resolver los problemas.
- Explica distintas situaciones problemáticas y sus soluciones en inglés sencillo.
-
Situaciones problemáticas y cómo resolverlas
-
Cuando quieres deshacer un trabajo equivocado
- Usa
git reflogpara revisar la lista de trabajos anteriores y vuelve al punto deseado congit reset HEAD@{index}.
- Usa
-
Cuando necesitas hacer un cambio pequeño después de un commit
- Después de hacer el cambio, usa
git add .ygit commit --amend --no-editpara agregar los cambios al último commit. - Precaución: no modifiques commits públicos.
- Después de hacer el cambio, usa
-
Cuando quieres cambiar el mensaje del último commit
- Usa
git commit --amendpara cambiar el mensaje.
- Usa
-
Cuando hiciste un commit en la rama equivocada
- Crea una rama nueva y elimina el commit de la rama master con
git reset HEAD~ --hard; luego cambia a la nueva rama para conservar el commit.
- Crea una rama nueva y elimina el commit de la rama master con
-
Cuando el comando diff no funciona
- Usa
git diff --stagedpara revisar las diferencias de los archivos en staging.
- Usa
-
Cuando quieres revertir un commit anterior
- Encuentra el commit con
git logy usagit revert [saved hash]para revertir ese commit.
- Encuentra el commit con
-
Cuando quieres revertir cambios en un archivo
- Encuentra el commit anterior con
git logy restaura el archivo congit checkout [saved hash] -- path/to/file.
- Encuentra el commit anterior con
-
-
Otros
- Cuando quieres devolver el repositorio a su estado inicial
- Usa
git fetch origin,git checkout master,git reset --hard origin/masterpara sincronizarlo con el repositorio remoto. - Elimina archivos y directorios no rastreados con
git clean -d --force.
- Usa
- Cuando quieres devolver el repositorio a su estado inicial
-
Precauciones
- Se menciona que este sitio no es una referencia completa y que pueden existir distintos métodos.
- Se agradece a las varias personas que participaron en la traducción.
1 comentarios
Comentarios en Hacker News
git switchen lugar degit checkoutreset --hardy se propone una forma de resolver el problema cuando se hizo un commit en la rama equivocada creando una rama nuevacherry-pickpara resolver casos en los que se hizo un commit en la rama equivocadagit reflogporque se percibe por error como "re-flog"git commitno tiene sentido