Una guía del tutorial Fundamentos de Git: crear y cambiar de rama, inspeccionar cambios con git diff y git show, gestionar la preparación y deshacer con git reset y git restore.
Este tutorial cubre las operaciones que usas una vez que el ciclo básico de commit es ya natural: trabajar en ramas, mirar los cambios de cerca y gestionar o deshacer lo preparado. Hacen que Git diario sea productivo y seguro.
Ramas: git branch y git checkout
git branch feature # crear una rama
git checkout feature # cambiar a ella
git checkout -b feature # crear y cambiar en un paso
Una rama es una línea de trabajo independiente. git branch crea una; git checkout cambia a ella. Trabajar en una rama mantiene main estable mientras experimentas.
Versiones recientes de Git añaden git switch para cambiar y git switch -c para crear. checkout sigue haciendo ambas y es lo que practicas aquí.
Inspeccionar cambios: git diff y git show
git diff # cambios no preparados
git diff --staged # cambios preparados
git show # el commit más reciente en detalle
git diff muestra lo que has cambiado pero aún no has preparado; git diff --staged muestra lo preparado. git show muestra el contenido completo de un commit. Responden a "¿qué cambió exactamente?" antes y después del commit.
Gestionar la preparación y deshacer: git restore y git reset
git restore index.html # descartar ediciones no commiteadas de un archivo
git restore --staged index.html # sacar un archivo de la preparación (conservar ediciones)
git reset --soft HEAD~1 # deshacer el último commit manteniendo cambios preparados
git restore es la herramienta moderna y enfocada para descartar cambios en archivos de trabajo o sacar de la preparación. git reset mueve el puntero de la rama y puede sacar de la preparación o deshacer commits.
git restore <archivo> descarta de forma permanente las ediciones no commiteadas de ese archivo. git restore --staged solo lo saca de la preparación, conservando tus ediciones. Sabe cuál estás lanzando antes de lanzarla.
Todo junto
Un flujo realista: crear una rama con git checkout -b, hacer cambios, revisarlos con git diff, preparar y commitear, y usar git restore o git reset para arreglar errores. Es la caja de herramientas diaria sobre la que se construyen los tutoriales de solución de problemas.