Trabajar con Git puede ser una experiencia increíblemente poderosa, pero algunos comandos pueden parecer confusos al principio. En esta guía, desglosaremos algunos de los comandos de Git más útiles: git stash
, git restore
, git reset
, git cherry-pick
, git revert
, y git bisect
. Verás cómo y cuándo usarlos de manera sencilla.
1. git stash
El comando git stash
es como un "cajón de almacenamiento temporal". Guarda tus cambios actuales, no confirmados, para que puedas trabajar en otra cosa sin perder lo que ya hiciste.
¿Cuándo usarlo?
Si estás trabajando en una función y de repente necesitas cambiar de rama para solucionar un error, git stash
es tu amigo. Guarda tus cambios actuales para que puedas volver a ellos después.
Ejemplo:
Imagina que estás desarrollando una nueva característica, pero necesitas cambiar a la rama de producción para solucionar un problema. Con git stash
, puedes guardar los cambios en los que estabas trabajando, cambiar de rama, y luego recuperarlos cuando hayas terminado.
2. git restore
El comando git restore
es útil cuando necesitas deshacer cambios en archivos de tu directorio de trabajo antes de haberlos confirmado.
¿Cuándo usarlo?
Lo usas cuando te das cuenta de que los cambios que hiciste en un archivo no son lo que querías y deseas volver a la versión anterior.
Ejemplo:
Supón que editaste un archivo y después decides que no quieres esos cambios. Con git restore archivo.txt
, puedes deshacer esos cambios fácilmente.
3. git reset
git reset
es un comando poderoso que mueve el puntero de tu rama actual a un commit anterior, deshaciendo confirmaciones recientes. Hay diferentes niveles de "reseteo", pero en general, --soft
, --mixed
, y --hard
son los más comunes.
⚠️ Advertencia: El uso de
git reset --hard
eliminará los commits recientes, incluyendo los cambios no confirmados, de tu área de trabajo. Si deseas conservar tus cambios en el área de trabajo mientras deshaces commits, es mejor utilizargit reset --soft
. Esta opción deshace los commits, pero mantiene los cambios en tu directorio de trabajo para que puedas revisarlos o volver a confirmar.
¿Cuándo usarlo?
Si cometiste un error y quieres deshacer uno o varios commits recientes, este comando es ideal. Dependiendo de la opción que elijas, también puede deshacer los cambios en tu área de trabajo.
Ejemplo:
Si accidentalmente confirmaste algo que no querías, puedes usar git reset --hard HEAD~1
para deshacer el último commit y volver al estado anterior. Pero, si deseas conservar los cambios, git reset --soft HEAD~1
es una opción más segura.
4. git cherry-pick
El comando git cherry-pick
te permite aplicar un commit específico de una rama a otra sin necesidad de fusionar toda la rama.
¿Cuándo usarlo?
Cuando quieres incorporar un cambio específico de otra rama en tu rama actual, sin arrastrar todos los commits de esa rama.
Ejemplo:
Imagina que un colega solucionó un bug en otra rama. En lugar de fusionar toda la rama, usas git cherry-pick <commit-id>
para aplicar solo ese commit en tu trabajo actual.
5. git revert
A diferencia de git reset
, git revert
no borra historial, sino que crea un nuevo commit que deshace un commit anterior. Es una forma segura de deshacer un cambio en proyectos compartidos.
¿Cuándo usarlo?
Cuando necesitas revertir un commit pero quieres mantener un registro de esa acción, especialmente en ramas compartidas.
Ejemplo:
Si un commit reciente introdujo un error, puedes usar git revert <commit-id>
para deshacer ese commit, pero dejando un rastro claro en el historial de que ese cambio fue revertido.
6. git bisect
git bisect
es una herramienta de Git que te ayuda a encontrar el commit exacto que introdujo un bug. Utiliza un proceso de búsqueda binaria para probar entre diferentes commits hasta encontrar el culpable.
¿Cuándo usarlo?
Es ideal cuando no estás seguro de cuándo un bug fue introducido y necesitas identificar el commit problemático de manera eficiente.
Ejemplo:
Primero, ejecutas git bisect start
, luego marcas un commit "bueno" (donde todo funcionaba) y uno "malo" (donde el bug está presente). Git probará diferentes commits entre esos puntos hasta encontrar el que introdujo el error.
Estos comandos son esenciales para cualquier desarrollador que trabaje con git. Saber cuándo y cómo usarlos te permitirá manejar tu código de manera más efectiva y resolver problemas de forma más rápida.
Déjame saber, ¿Ya conocías o has utilizado estos comandos?
Sígueme en mis redes sociales para más contenido interesante: byxn.link