Git · Sección 9

Stash, cherry-pick y rebase

Cambiar de contexto, trasladar commits concretos y reorganizar trabajo local con criterios claros, salidas de emergencia y límites para historia compartida.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Ramas, integración y conflictos.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Stash temporal con Cherry-pick y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Instala Git y utiliza Git Bash, PowerShell o una terminal Unix. Mantén un repositorio desechable para probar recuperación y conflictos.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Stash temporal y Cherry-pick? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Aplicarás tres herramientas de traslado o reorganización distinguiendo cuándo simplifican y cuándo esconden riesgo.

Al terminar podrás
  • Stash guarda temporalmente cambios que todavía no son un commit
  • Cherry-pick aplica el cambio de commits concretos en otra base
  • Rebase cambia la base y reescribe identidades
01
Pausar trabajo

Stash guarda temporalmente cambios que todavía no son un commit

git stash push conserva cambios y limpia el contexto para cambiar de tarea. Un mensaje ayuda a identificar la entrada. apply conserva el stash; pop intenta aplicarlo y luego retirarlo. No es un archivo permanente ni un sustituto de commits.

01

Revisa status antes y después.

02

Incluye archivos no rastreados solo con intención explícita.

03

Inspecciona el parche antes de eliminar una entrada.

Comprueba lo aprendido · 01

¿Qué diferencia hay entre stash apply y stash pop?

Mostrar respuesta +

Apply intenta aplicar y conserva la entrada; pop intenta aplicarla y quitarla si termina correctamente.

02
Trasladar una decisión

Cherry-pick aplica el cambio de commits concretos en otra base

Cherry-pick reproduce el parche y crea nuevos commits con otros identificadores. Sirve para trasladar una corrección puntual, pero usarlo como flujo habitual puede duplicar historia y complicar integraciones.

01

Confirma primero la rama destino.

02

Inspecciona el commit antes de aplicarlo.

03

Continúa o aborta explícitamente si hay conflicto.

Comprueba lo aprendido · 02

¿El commit obtenido por cherry-pick conserva el mismo hash?

Mostrar respuesta +

No. Tiene otro antecedente y se crea como un commit nuevo, aunque el cambio y el mensaje puedan ser equivalentes.

03
Reorganizar trabajo local

Rebase cambia la base y reescribe identidades

Rebase vuelve a aplicar commits sobre otra base para producir una línea más directa. Es útil para ordenar trabajo local antes de compartir. Como crea commits nuevos, no debe aplicarse sin acuerdo sobre historia que otras personas ya usan.

01

Hazlo con un directorio de trabajo limpio.

02

Revisa cada conflicto y continúa o aborta.

03

No confundas historia lineal con historia verdadera o mejor.

Comprueba lo aprendido · 03

¿Por qué rebase de commits compartidos puede perjudicar al equipo?

Mostrar respuesta +

Porque reemplaza identidades que otras ramas ya referencian, obligando a reconciliar dos versiones de la misma historia.

Resumen de la sección

Tu recorrido en tres ideas

  1. Stash guarda temporalmente cambios que todavía no son un commit
  2. Cherry-pick aplica el cambio de commits concretos en otra base
  3. Rebase cambia la base y reescribe identidades
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Usar stash como almacenamiento permanente.

ERROR 02

Rebasar commits compartidos sin acuerdo y después forzar la publicación.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Guarda un cambio parcial, traslada una corrección con cherry-pick y actualiza una rama local mediante rebase.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Confirma rama origen y destino.
  • Demuestra cómo abortaría cada operación.
  • Comprueba que no quedaron cambios o stashes olvidados.