4 puntos por GN⁺ 2025-01-18 | 1 comentarios | Compartir por WhatsApp
  • 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 reflog para revisar la lista de trabajos anteriores y vuelve al punto deseado con git reset HEAD@{index}.
    • Cuando necesitas hacer un cambio pequeño después de un commit

      • Después de hacer el cambio, usa git add . y git commit --amend --no-edit para agregar los cambios al último commit.
      • Precaución: no modifiques commits públicos.
    • Cuando quieres cambiar el mensaje del último commit

      • Usa git commit --amend para cambiar el mensaje.
    • 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.
    • Cuando el comando diff no funciona

      • Usa git diff --staged para revisar las diferencias de los archivos en staging.
    • Cuando quieres revertir un commit anterior

      • Encuentra el commit con git log y usa git revert [saved hash] para revertir ese commit.
    • Cuando quieres revertir cambios en un archivo

      • Encuentra el commit anterior con git log y restaura el archivo con git checkout [saved hash] -- path/to/file.
  • Otros

    • Cuando quieres devolver el repositorio a su estado inicial
      • Usa git fetch origin, git checkout master, git reset --hard origin/master para sincronizarlo con el repositorio remoto.
      • Elimina archivos y directorios no rastreados con git clean -d --force.
  • 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

 
GN⁺ 2025-01-18
Comentarios en Hacker News
  • Es mejor usar git switch en lugar de git checkout
  • Se recomienda evitar reset --hard y se propone una forma de resolver el problema cuando se hizo un commit en la rama equivocada creando una rama nueva
    • Crear una rama nueva desde el estado actual
    • Cambiar al commit anterior
    • Sobrescribir la rama master con ese commit
    • Cambiar a la rama de trabajo
  • Se propone usar cherry-pick para resolver casos en los que se hizo un commit en la rama equivocada
    • Cambiar a la rama correcta
    • Traer el último commit de master
    • Eliminarlo de master
  • Se propone una forma de usar git en una situación de "me rindo"
    • Traer el estado más reciente de origin
    • Restaurar los archivos rastreados
    • Eliminar archivos y directorios no rastreados
    • Restablecer master a la versión remota
  • Se recomienda aprender Git usando una UI como opción predeterminada
    • Si después sientes que la CLI es más rápida, puedes usarla más adelante
    • Primero hay que entender visualmente cómo interactuar con el árbol
  • Da gusto ver resultados de búsqueda sobre hg+mercurial
    • Es una lástima que hg haya perdido la guerra de los DVCS
  • Es difícil recordar los argumentos de los comandos de Git
    • No son comandos fáciles de descubrir ni de memorizar
  • En abril de 2025 se sentirá raro celebrar los 20 años de git
    • Puede que el efecto GitHub haya eliminado la necesidad de un nuevo VCS
  • En situaciones de "oh shit", se usa el método de borrar el repositorio local y volver a clonarlo
    • Funciona bien en el 95% de los casos
  • Es difícil recordar git reflog porque se percibe por error como "re-flog"
  • Aunque no es usuario de Git, siente que git commit no tiene sentido
    • Un commit solo importa cuando se hace push o merge
  • Una de las ventajas de Git es que, una vez que se crea un objeto, no se puede perder el trabajo
    • Es importante hacer commits con frecuencia