Preview ng leksyon

Herramientas avanzadas: rebase, stash, cherry-pick y etiquetas

Pasamos a las herramientas que diferencian a un usuario avanzado de Git de quien solo conoce lo básico. Analizaremos rebase como alternativa a merge, mostrando cuándo limpia el historial y cuándo lo convierte en una pesadilla. Añadiremos stash para 'aparcar' rápidamente trabajo sin terminar, cherry-pick para transferir commits específicos y etiquetas para marcar lanzamientos.

git rebase git stash git cherry-pick
Ano ang matututunan mo sa leksyong ito
  • Podrás usar git stash para cambiar de contexto entre tareas sin perder cambios.
  • Entenderás la diferencia entre rebase y merge y podrás elegir conscientemente entre ellos según el contexto.
  • Aprenderás a editar el historial de commits usando rebase interactivo y a marcar versiones de lanzamiento con etiquetas.

Simula ng leksyon

Problema: cómo aparcar trabajo sin terminar

  • Una corrección urgente interrumpe tu trabajo
  • No se puede hacer commit de código sin terminar
  • Git stash: almacenamiento temporal de cambios
  • Guarda tanto archivos rastreados como no rastreados
  • Devuelve el directorio de trabajo a un estado limpio

Imagina: estás en medio del desarrollo de una nueva funcionalidad para Telefónica y de repente llega una corrección urgente para BBVA. No quieres dejar el trabajo a medias, pero tampoco puedes hacer commit de código sin terminar. Para estas situaciones existe git stash: tu estantería digital temporal. Es como pausar un videojuego: guardas el progreso actual y puedes atender otra tarea. Cuando vuelvas, todo estará exactamente como lo dejaste, incluyendo archivos no rastreados si usaste la bandera -u. Esto te evitará tener que mantener múltiples tareas en mente al mismo tiempo.

Guardando y revisando cambios

  • git stash save — guarda cambios en el almacén
  • git stash list — muestra la lista de cambios guardados
  • Cada stash recibe un ID único
  • stash@{0} — último cambio guardado
  • El almacén conserva el estado del directorio de trabajo

Veamos cómo trabajar con git stash en la práctica. El comando git stash save guardará todos los cambios en el directorio de trabajo y los archivos en staging, devolviéndote un estado limpio. Tus avances no se perderán: se guardarán en un almacén especial. Para verificar que los cambios se han guardado, ejecuta git stash list. Verás una lista de todas las tareas aparcadas con identificadores únicos como stash arroba cero. Esto es especialmente útil cuando necesitas cambiar rápidamente entre tareas sin perder el progreso.

# Guardamos los cambios actuales
git stash save "WIP: Nuevo formulario de inicio de sesión"

# Verificamos la lista de cambios guardados
git stash list

# Vemos el contenido del último stash
git stash show -p

Recuperando cambios en espera

  • git stash pop — aplica y elimina el último stash
  • git stash apply — aplica sin eliminar
  • Posibles conflictos al modificar el código
  • Los conflictos se resuelven manualmente
  • stash@{n} — referencia a un almacenamiento específico

Cuando llega el momento de retomar el trabajo en espera, tienes dos opciones. El comando git stash pop aplicará los últimos cambios guardados y los eliminará de la lista de stash. Si prefieres revisar los cambios o aplicarlos varias veces, utiliza git stash apply, ya que los cambios permanecerán en el almacenamiento. Es importante recordar: si el código ha cambiado desde que guardaste el stash, podrían surgir conflictos. En ese caso, Git te informará del problema y deberás resolver los conflictos manualmente.

# Recuperamos los últimos cambios en espera
git stash pop

# O aplicamos sin eliminar
git stash apply

# Aplicamos un stash específico por índice
git stash apply stash@{1}

Buong leksyon ay para sa subscription

25 pang slide sa buong bersyon.

Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.

Mag-sign in o magparehistro Mag-subscribe

Nilalaman ng leksyon

  1. Problema: cómo aparcar trabajo sin terminar
  2. Guardando y revisando cambios
  3. Recuperando cambios en espera
  4. Cuándo el stash puede ser perjudicial
  5. Cómo funciona la fusión de ramas
  6. Rebase: reescribiendo el historial de commits
  7. Cuándo usar cada herramienta: escenarios prácticos
  8. Peligros del rebase: qué puede salir mal
  9. ¿Qué es rebase y para qué sirve?
  10. Ejecutando rebase: guía paso a paso
  11. Resolviendo conflictos durante rebase
  12. Rebase interactivo: tu editor de historial de commits
  13. Comandos principales del rebase interactivo
  14. Práctica: creando un historial perfecto
  15. Precaución: modificando el historial publicado
  16. Por qué no debes hacer rebase de ramas compartidas
  17. Cómo recuperarse de un rebase fallido
  18. Corrección segura del historial
  19. ¿Para qué sirve cherry-pick en Git?
  20. Cómo usar git cherry-pick
  21. Cuándo elegir: cherry-pick vs merge vs rebase
  22. Etiquetas en Git: marcadores para commits importantes
  23. Creando etiquetas anotadas y ligeras
  24. Publicar etiquetas en el repositorio remoto
  25. Escenario: arreglo urgente durante el desarrollo
  26. Integración de cambios mediante rebase y cherry-pick
  27. Errores comunes y cómo evitarlos
  28. Resumen: Tu nuevo arsenal de herramientas de Git

Mga artikulo tungkol sa araling ito

Lahat ng leksyon ng kurso

  1. Introducción: Git desde cero hasta desarrollador seguro
  2. Por qué necesitamos Git y por qué es imprescindible para conseguir trabajo
  3. Instalación y configuración: preparando Git para su primer uso
  4. Primer repositorio: init, add, commit y la magia del índice
  5. Leyendo el historial: log, diff, show y navegación por el pasado
  6. Ramas: la realidad paralela de tu código
  7. Deshaciendo cambios: restore, reset, revert — correcto y peligroso
  8. GitHub y repositorios remotos: tu código en la nube
  9. Trabajo en equipo: forks, ramas de características y pull requests
  10. Conflictos de fusión: no entres en pánico, comprende y resuelve
  11. Flujos de trabajo con Git en equipos reales: ¿qué workflow elegir?
  12. Herramientas avanzadas: rebase, stash, cherry-pick y etiquetas
  13. Proyecto final: simulando un desarrollo en equipo real