"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cambie de rama en Git sin perder su trabajo

Cambie de rama en Git sin perder su trabajo

Publicado el 2024-11-06
Navegar:376

Switch Branches in Git Without Losing Your Work

Como desarrolladores, a menudo nos encontramos en situaciones en las que estamos inmersos en la codificación de una función cuando, de repente, un problema urgente exige nuestra atención inmediata. Para solucionarlo, necesitamos cambiar de rama en Git. Sin embargo, hacerlo puede ser arriesgado si aún no hemos comprometido nuestros cambios actuales. Podríamos perder nuestro trabajo o enfrentar conflictos de fusión.

En esta publicación, te guiaré a través de dos estrategias efectivas para cambiar de rama en Git sin perder los cambios.

Comprender el escenario

Imagina que estás trabajando en una nueva función en tu rama actual. Ha realizado varios cambios, pero aún no los ha confirmado. De repente, recibe una solicitud para corregir un error en otra rama. El dilema: ¿Cómo cambias a la otra rama para solucionar el problema sin perder los cambios que has realizado?

Git proporciona un par de herramientas poderosas para manejar esta situación sin problemas: git stash y creación de una rama temporal.

Solución 1: usar git stash

¿Qué es git stash?

git stash es un comando que te permite guardar (o "guardar") temporalmente tus cambios sin confirmarlos. Esto es útil cuando necesitas cambiar de rama pero quieres volver a tu trabajo actual más tarde sin perder nada.

Cómo usar git stash

Así es como puedes guardar tus cambios:

  1. Guarda tus cambios:
    Ejecute el siguiente comando para guardar sus cambios:

    git stash
    

    Este comando guarda los cambios no confirmados y restablece su directorio de trabajo para que coincida con la última confirmación.

  2. Cambiar a la otra sucursal:

Ahora que tu directorio de trabajo está limpio, puedes cambiar de forma segura a la otra rama:

    git checkout 

Soluciona el problema urgente en la otra sucursal según sea necesario.

  1. Restaura tus cambios guardados:

Una vez que hayas solucionado el problema, vuelve a tu rama original:

    git checkout 

Luego, restaura tus cambios guardados con:

    git stash pop

Este comando aplica los cambios ocultos nuevamente a su directorio de trabajo y elimina el almacenamiento oculto de su lista de almacenamiento oculto.

Flujo de trabajo de ejemplo

Supongamos que está trabajando en una función en la rama de funciones y recibe una solicitud para corregir un error en master:

  1. Guarda tus cambios usando git stash:

    alijo de git

  2. Cambiar a la rama maestra:

    maestro de pago de git

  3. Corregir el error en master y confirmar los cambios.

  4. Volver a la rama de funciones:

    rama de funciones de pago de git

  5. Restaura tus cambios guardados:

    git alijo pop

Ahora vuelves al punto donde lo dejaste, con todos los cambios intactos.

Solución 2: enviar sus cambios a una sucursal temporal

Otro enfoque es enviar los cambios a una rama temporal. Esto es útil si prefieres comprometer tu trabajo antes de cambiar de sucursal.

Crear una sucursal temporal

  1. Crear una sucursal temporal:

Primero, crea y cambia a una nueva rama temporal:

    git checkout -b temp-branch

Esta sucursal conservará tu trabajo actual mientras abordas el problema urgente.

  1. Confirma tus cambios:

Confirma tu trabajo en la rama temporal:

    git add . git commit -m "WIP: Save work before switching branches"
  1. Cambiar a la otra sucursal:

Ahora, cambia a la sucursal donde necesitas realizar los cambios urgentes:

    git checkout 

Continuando con tu trabajo

Una vez que hayas resuelto el problema:

  1. Volver atrás:

Regresar a tu sucursal original:

    git checkout 
  1. Fusionar la sucursal temporal (opcional):

Si deseas traer tu trabajo de la rama temporal nuevamente a tu rama original, puedes fusionarlo:

    git merge temp-branch
  1. Eliminar la sucursal temporal (opcional):

Una vez que hayas terminado, puedes eliminar la rama temporal:

    git branch -d temp-branch




Flujo de trabajo de ejemplo

Veamos un ejemplo rápido:

  1. Crear y cambiar a una rama temporal:

    git checkout -b temp-fix

  2. Confirma tus cambios actuales:

    git agregar. git commit -m "WIP: guardado temporal antes de cambiar de rama"

  3. Cambie a la rama requerida para solucionar el problema:

    Copiar código

    maestro de pago de git

  4. Después de solucionar el problema, vuelve a tu rama original:

    Copiar código

    rama de funciones de pago de git

  5. Opcionalmente fusionar la rama temporal si es necesario.

Conclusión

Cambiar de rama en Git puede ser sencillo y sin estrés, incluso con cambios no confirmados. Al aprovechar git stash o crear una rama temporal, puedes administrar sin problemas tu flujo de trabajo y mantener intacto tu progreso. Estas técnicas le ayudan a abordar problemas urgentes rápidamente sin perder nada de su trabajo en curso.

¡Pruebe estos métodos en su próximo proyecto y vea cómo pueden mejorar su proceso de desarrollo!

Espero que esta guía sobre el uso de git stash haya sido útil. Si tiene alguna pregunta o necesita más detalles, no dude en dejar un comentario a continuación.

Conéctate conmigo:

GitHub: - Explora mis proyectos y repositorios de código abierto.
LinkedIn: - Conéctate conmigo profesionalmente y mantente actualizado sobre mi carrera.
No dudes en comunicarte conmigo o seguirme en estas plataformas para obtener más información, actualizaciones y oportunidades. ¡Gracias por leer!

Declaración de liberación Este artículo se reproduce en: https://dev.to/asadbukhari/switch-branches-in-git- without-losing-your-work-2o18?1 Si hay alguna infracción, comuníquese con [email protected] para eliminar él
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3