Cómo mover cambios de un almacenamiento de Git a otro

GitGitBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Git stash es una característica poderosa que te permite guardar temporalmente tus cambios locales sin confirmarlos. En este tutorial, aprenderás cómo mover tus cambios guardados de un almacenamiento a otro, lo que te permitirá organizar y gestionar mejor tu flujo de trabajo de Git.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git/DataManagementGroup -.-> git/stash("Save Changes Temporarily") git/DataManagementGroup -.-> git/restore("Revert Files") git/CollaborationandSharingGroup -.-> git/pull("Update & Merge") git/CollaborationandSharingGroup -.-> git/push("Update Remote") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") subgraph Lab Skills git/stash -.-> lab-415014{{"Cómo mover cambios de un almacenamiento de Git a otro"}} git/restore -.-> lab-415014{{"Cómo mover cambios de un almacenamiento de Git a otro"}} git/pull -.-> lab-415014{{"Cómo mover cambios de un almacenamiento de Git a otro"}} git/push -.-> lab-415014{{"Cómo mover cambios de un almacenamiento de Git a otro"}} git/remote -.-> lab-415014{{"Cómo mover cambios de un almacenamiento de Git a otro"}} end

Comprendiendo Git Stash

¿Qué es Git Stash?

Git Stash es una característica poderosa en Git que te permite guardar temporalmente tus cambios locales sin confirmarlos. Esto es particularmente útil cuando necesitas cambiar a una rama diferente o extraer los últimos cambios de un repositorio remoto, pero no quieres perder el trabajo que has realizado en tu rama actual.

¿Cuándo usar Git Stash?

Puedes usar Git Stash en los siguientes escenarios:

  • Cambio de ramas: Cuando necesitas cambiar a una rama diferente, pero tienes cambios locales que aún no quieres confirmar.
  • Extracción de actualizaciones: Cuando necesitas extraer los últimos cambios de un repositorio remoto, pero tienes cambios locales que aún no quieres confirmar.
  • Experimentación con código: Cuando quieres probar una nueva característica o experimentar con algún código, pero no quieres confirmar tus cambios hasta que estés satisfecho con el resultado.

¿Cómo usar Git Stash?

Para usar Git Stash, puedes seguir estos pasos:

  1. Guardar tus cambios: Ejecuta el siguiente comando para guardar tus cambios locales en el almacenamiento:
    git stash
  2. Cambiar a una rama diferente: Ahora puedes cambiar a una rama diferente o extraer los últimos cambios del repositorio remoto.
  3. Recuperar tus cambios guardados: Cuando estés listo para volver a tu trabajo anterior, puedes aplicar los cambios guardados usando el siguiente comando:
    git stash apply
    Esto aplicará el último almacenamiento a tu rama actual.

Gestión del almacenamiento

Git Stash proporciona varios comandos para ayudarte a gestionar tus cambios guardados:

  • git stash list: Lista todos los almacenamientos que has creado.
  • git stash show: Muestra los cambios realizados en un almacenamiento específico.
  • git stash drop: Elimina un almacenamiento específico de la lista.
  • git stash clear: Elimina todos los almacenamientos de la lista.

Al comprender los conceptos básicos de Git Stash, puedes gestionar efectivamente tus cambios locales y cambiar entre diferentes tareas o ramas sin perder tu trabajo.

Transferir Cambios Guardados

Mover Cambios Guardados a Otra Rama

A veces, es posible que desees mover tus cambios guardados a una rama diferente. Esto puede ser útil cuando has guardado algunos cambios, pero te das cuenta de que esos cambios deben aplicarse a una rama diferente. Aquí está cómo puedes hacerlo:

  1. Guarda tus cambios:
    git stash
  2. Cambia a la rama destino:
    git checkout target-branch
  3. Aplica los cambios guardados a la rama destino:
    git stash apply

Ahora, tus cambios guardados se han transferido a la rama destino.

Aplicar Cambios Guardados a Varias Ramas

También puedes aplicar tus cambios guardados a varias ramas. Esto puede ser útil cuando tienes un conjunto de cambios que deseas aplicar a varias ramas.

  1. Guarda tus cambios:
    git stash
  2. Aplica los cambios guardados a la primera rama:
    git checkout branch1
    git stash apply
  3. Aplica los cambios guardados a la segunda rama:
    git checkout branch2
    git stash apply
  4. Repite el paso 3 para cualquier rama adicional a la que desees aplicar los cambios.

Transferir Cambios Guardados con Conflictos

Si hay conflictos al aplicar los cambios guardados a una rama diferente, puedes resolverlos manualmente. Aquí está cómo:

  1. Guarda tus cambios:
    git stash
  2. Cambia a la rama destino:
    git checkout target-branch
  3. Aplica los cambios guardados:
    git stash apply
  4. Resuelve cualquier conflicto que surja, luego agrega los archivos resueltos:
    git add resolved-file1 resolved-file2
  5. Continúa la aplicación del almacenamiento:
    git stash apply --continue

Al comprender cómo transferir cambios guardados entre ramas, puedes gestionar efectivamente tu flujo de trabajo y asegurarte de que tus cambios se apliquen a las ubicaciones correctas.

Gestión Práctica del Almacenamiento

Nombre y Referencia del Almacenamiento

Cuando guardas tus cambios con Git Stash, Git asigna automáticamente un identificador único a cada almacenamiento. Sin embargo, también puedes dar nombres más descriptivos a tus almacenamientos para ayudarte a controlarlos. Aquí está cómo:

git stash save "Mis cambios de característica"

Luego, puedes referirte a tus almacenamientos por su índice o por el nombre personalizado que hayas asignado:

git stash apply stash@{2}
git stash apply "Mis cambios de característica"

Ramificación del Almacenamiento

Git Stash también te permite crear una nueva rama a partir de un cambio guardado. Esto puede ser útil cuando quieres trabajar en un conjunto específico de cambios de manera aislada. Aquí está cómo:

git stash branch nueva-característica

Este comando creará una nueva rama llamada nueva-característica y aplicará el último almacenamiento a ella.

Limpieza del Almacenamiento

A medida que trabajas, la lista de tus almacenamientos puede rápidamente quedar desordenada. Para mantener tu almacenamiento organizado, puedes usar los siguientes comandos:

git stash list  ## Lista todos los almacenamientos
git stash drop stash@{0}  ## Elimina el último almacenamiento
git stash clear  ## Elimina todos los almacenamientos

Además, puedes configurar Git para que corte automáticamente los almacenamientos antiguos:

git config --global stash.autoStash true
git config --global stash.maxStashSize 10

Estas configuraciones guardarán automáticamente tus cambios antes de un merge o rebase, y mantendrán un máximo de 10 almacenamientos en la lista.

Al dominar estas técnicas prácticas de gestión del almacenamiento, puedes mantener tu flujo de trabajo de Git organizado y eficiente, lo que garantiza que tus cambios sean fácilmente accesibles y manejables.

Resumen

Al final de esta guía, tendrás una comprensión sólida de Git stash y la capacidad de transferir eficientemente tus cambios entre diferentes almacenamientos. Este conocimiento te ayudará a mantener un repositorio de Git limpio y organizado, lo que facilitará la colaboración, la revisión y la gestión del control de versiones de tu proyecto.