Puntos de restauración y stash en Git
Los bloques son casos distintos, no un único script. Elige el que encaja con tu repositorio. Sustituye ramas, rutas y VERIFIED_COMMIT antes de usarlos. Los comandos de cancelación solo corresponden a su operación activa; no ejecutes ambas alternativas.
Respuesta breve
Los puntos de restauración de FluxGit registran estados para recuperar operaciones de historial cubiertas. Un stash manual guarda cambios locales para otro momento y es un recorrido distinto.
Ejemplo y condiciones
El tutorial G12 muestra un cambio de rama con modificaciones tracked pendientes. Los archivos untracked siguen en el directorio salvo que los incluyas expresamente.
Inspecciona antes de cambiar
Inspecciona git status --short y git diff. Decide qué guardar antes de cambiar de rama; no confundas un directorio limpio con un respaldo permanente.
git status --short
git diffConserva una referencia o checkout separado
Crea un stash manual con un mensaje reconocible. git stash push guarda los cambios tracked; usa -u solo cuando quieras incluir también los archivos untracked.
git stash push -m "school/manual-before-switch"
git stash listPrimer flujo
Comprueba git stash list y cambia a la rama de destino. Al volver, revisa el contexto antes de aplicar la entrada seleccionada.
git switch target-branchElige deliberadamente la otra opción
git stash apply conserva la entrada. git stash pop la elimina solo después de una aplicación correcta; si hay conflicto, la entrada se conserva.
git stash show --patch 'stash@{0}'
git stash apply 'stash@{0}'Límites y excepciones
Los puntos automáticos cubren reset, rebase, cherry-pick, revert y merge por sus rutas protegidas. Discard y clean no crean un Flux restore point universal.
Conflictos y limpieza
Ante un conflicto, revisa los archivos y resuélvelo deliberadamente. No repitas pop ni borres la entrada para esconder el estado pendiente.
Verifica el resultado
Comprueba archivos, índice y pruebas después de aplicar el stash. Elimina una entrada solo cuando hayas verificado que el trabajo deseado está conservado.
git status --short
git diff
git diff --cachedPreguntas habituales
El stash no se publica automáticamente con un push y no sustituye una copia de seguridad. La recuperación depende de que el estado local relevante siga disponible.
Revisa la operación en FluxGit
Safety Timeline combina movimientos del reflog, riesgos y puntos de restauración. Los datos de estos puntos permanecen locales; usa el preview y el contexto de recuperación específico de cada operación.
Documentación oficial de Git
Cambiar de rama en Git con trabajo a medias: git stash, de forma visual
Guarda un cambio seguido por Git con stash, ponle un nombre, cambia de rama y vuelve para recuperarlo con pop. Verás por qué los archivos sin seguimiento permanecen y la diferencia entre apply y un pop correcto. Incluye los comandos de terminal.
Ver en YouTube — abre una pestaña nueva
Grabado en un repositorio de prueba. Voz en inglés y subtítulos en español.
Leer la transcripción de la narración
- Estás a mitad de un cambio y necesitas mirar otra rama ahora mismo. No está listo para commit y no quieres perderlo.
- Aquí está el cambio a medias, en app.py.
- Un stash guarda los cambios seguidos por Git. Aquí guarda el cambio de app.py y lo retira de la carpeta de trabajo. Los archivos sin seguimiento siguen en el disco. Un pop correcto restaura el cambio y elimina su entrada de stash.
- Stash current changes, y ponle un nombre que reconozcas después.
- Cambia a la otra rama. El cambio del archivo seguido está en el stash. El archivo sin seguimiento permanece en la carpeta.
- Terminado allí. De vuelta a main.
- Haz pop del stash. El cambio vuelve a app.py, y el stash desaparece.
- ¿Apply o pop? Apply restaura tus cambios y conserva la entrada de stash. Pop solo elimina la entrada si los cambios se aplican correctamente. Si hay conflictos, el stash se conserva.
- En la terminal: git stash push con un mensaje, cambia de rama y vuelve, y luego git stash pop.
- Resumen. El trabajo sin terminar va a la estantería, no a un commit a medias. Siguiente lección: limpiar tus commits antes del pull request.