Introducción
Imagina que eres un desarrollador trabajando en un proyecto de una máquina del tiempo. ¡De repente, tu "yo" del futuro aparece y te advierte sobre un error crítico en el código actual! Necesitas guardar rápidamente tu trabajo en curso, corregir el error y luego retomar tu tarea actual. ¡Este desafío pondrá a prueba tus habilidades con Git stash en un escenario de alto riesgo y saltos temporales!
Guardar, Corregir y Reanudar
Estado Inicial
Te encuentras en el directorio ~/project. El directorio time-machine es un nuevo repositorio de Git que contiene los siguientes archivos:
main-console.txt(contenido: "Bug: Temporal Flux Unstable")flux-capacitor.txt(contenido: "Work in progress")new-feature.txt(contenido: "Untracked feature")
Puedes usar el comando git status para verificar el estado actual del repositorio.
Tareas
- Guarda en el stash tus cambios actuales, incluyendo cualquier archivo que no esté bajo seguimiento (untracked).
- Corrige el "error crítico" en la rama
masteractualizando el contenido demain-console.txta "Fixed: Temporal Flux Stabilized". - Crea una nueva rama a partir de tus cambios guardados en el stash, llamada
future-upgrades. - Asegúrate de que la corrección del error realizada en la rama master también esté presente en la rama
future-upgrades.
Requisitos
- Todas las operaciones deben realizarse en el directorio
~/project/time-machine. - Asegúrate de que tus cambios originales (tanto los rastreados como los no rastreados) estén presentes en la nueva rama.
- La corrección del error en
main-console.txtdebe figurar tanto en la ramamastercomo en la ramafuture-upgrades.
Ejemplo
Tras completar el desafío, tu repositorio debería verse así:
En la rama master:
main-console.txt (content: "Fixed: Temporal Flux Stabilized")
En la rama future-upgrades:
main-console.txt (content: "Fixed: Temporal Flux Stabilized") ## Contiene la corrección de master
flux-capacitor.txt (content: "Work in progress") ## Cambios rastreados originales
new-feature.txt (content: "Untracked feature") ## Archivo no rastreado original
Nota: Para lograr este estado, deberás asegurarte de que ambas ramas contengan la corrección del error mientras preservas tus avances de trabajo en la rama future-upgrades.
Resumen
En este desafío, has practicado el uso de Git stash en un escenario de emergencia simulado. Has aprendido a guardar rápidamente tu trabajo en curso (incluyendo archivos no rastreados), cambiar de contexto para solucionar un problema crítico y luego crear una nueva rama a partir de tus cambios guardados. Estas habilidades son fundamentales para mantener un flujo de trabajo fluido cuando surgen tareas inesperadas, permitiéndote gestionar múltiples responsabilidades sin perder tus avances ni romper tu concentración.
Recuerda que, aunque Git stash es una herramienta potente para almacenar cambios temporalmente, es ideal para un uso a corto plazo. Para trabajos de larga duración o funcionalidades importantes, crear ramas dedicadas suele ser un mejor enfoque. ¡Sigue practicando estas habilidades y estarás bien preparado para cualquier escenario de desarrollo temporal que se te presente!



