19. Almacenamiento oculto: guardar cambios temporalmente

El desarrollo de software es un proceso dinámico y los desarrolladores a menudo necesitan gestionar diferentes tareas al mismo tiempo. Durante este proceso, puede surgir la necesidad de cambiar entre ramas sin querer comprometer el trabajo actual que aún no está listo para comprometerse. Aquí es donde el concepto de Stashing en Git se vuelve extremadamente útil.

¿Qué es el ocultamiento?

git stash es un comando poderoso que permite a los desarrolladores guardar sus cambios locales temporalmente en un área que Git llama "alijo". Estos cambios pueden ser modificaciones en archivos rastreados o archivos nuevos que aún no se han agregado al índice (preparados). El alijo es una pila, lo que significa que puedes tener varios alijos y administrarlos como una lista.

¿Cuándo utilizar Stashing?

El almacenamiento oculto es especialmente útil cuando:

  • Estás en medio del trabajo y necesitas cambiar rápidamente de contexto, como corregir un error crítico en otra rama.
  • Quieres probar algo en tu código sin crear una confirmación para esos cambios.
  • Necesita limpiar su directorio de trabajo para realizar cambios ascendentes sin realizar sus propios cambios.

Cómo ocultar cambios

Para crear un nuevo alijo, simplemente puedes ejecutar:

git stash

Esto guardará los cambios y limpiará el directorio de trabajo. Si desea incluir cambios en archivos que aún no han sido rastreados por Git (archivos sin seguimiento), puede usar:

git stash -u

O, para incluir también archivos ignorados:

git stash -a

Si quieres darle a tu alijo un nombre específico para recordar el contexto de los cambios, puedes usar:

git stash save "mensaje explicativo"

Listado e inspección de alijos

Para ver todos los alijos que has creado, utiliza:

lista de alijo de git

Cada entrada en la lista tendrá un identificador único en forma de stash@{} donde es un número que indica la posición de la esconder en la pila.

Para ver qué hay dentro de un alijo específico sin aplicarlo, puedes usar:

git stash show -p stash@{}

Aplicar un alijo

Cuando estés listo para continuar trabajando en los cambios que guardaste, puedes aplicar el último alijo con:

aplicar git stash

O uno específico con:

git stash apply stash@{}

Esto vuelve a aplicar los cambios guardados en su directorio de trabajo, pero mantiene el alijo en la pila. Si desea aplicar y eliminar alijo de la pila, puede utilizar:

git stash pop

Afrontar el conflicto

Cuando aplica un alijo, pueden ocurrir conflictos si su directorio de trabajo actual tiene cambios que se superponen con los cambios del alijo. En este caso, Git te alertará sobre los conflictos y tendrás que resolverlos manualmente, tal como lo harías con una fusión.

Eliminar un alijo

Si quieres descartar un alijo que sabes que ya no necesitarás, puedes eliminar uno específico con:

git stash drop stash@{}

O bien, para borrar todos los alijos:

git stash clear

Ramas y alijos

A veces puede resultar útil guardar una nueva rama. Esto se puede hacer con:

git stash rama  stash@{}

Esto crea una nueva rama a partir de la confirmación donde se creó el alijo, aplica el alijo y, si tiene éxito, elimina el alijo de la pila.

Prácticas recomendadas con almacenamiento

  • Utilice mensajes descriptivos al guardar reservas para que sean más fáciles de identificar en el futuro.
  • Evita acumular demasiados alijos. Aplícalos o deséchalos regularmente para mantener manejable tu reserva.
  • Antes de aplicar un alijo, asegúrese de estar en la rama correcta y de que su directorio de trabajo esté limpio.

Conclusión

Stashing es una característica increíblemente útil de Git que permite a los desarrolladores gestionar cambios temporales de manera eficiente. Le brinda la flexibilidad para manejar las interrupciones del flujo de trabajo y ayuda a mantener limpio su directorio de trabajo. Comprender y utilizar el almacenamiento oculto puede aumentar significativamente su productividad y facilitar la gestión de tareas paralelas en el desarrollo de software.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de los siguientes comandos de Git se utiliza para guardar temporalmente los cambios locales en un área llamada "alijo"?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Trabajar con etiquetas

Siguiente página del libro electrónico gratuito:

20Trabajar con etiquetas

4 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.