En el mundo del desarrollo de software, es común encontrarnos en situaciones donde necesitamos compartir nuestros cambios pendientes en Git con un compañero de equipo sin necesidad de confirmarlos (commit). Ya sea porque aún estamos afinando detalles, queremos una revisión previa o simplemente porque la política del proyecto no permite confirmaciones frecuentes, existen varias formas de hacerlo.
A continuación, te mostraré cinco métodos efectivos para exportar tus cambios pendientes en Git y compartirlos fácilmente con tu equipo. ¡Vamos a ello! 🚀
Una de las formas más sencillas y prácticas de compartir cambios pendientes en Git es generando un parche, que básicamente es un archivo de diferencias (con extensión .diff
o .patch
) que contiene los cambios realizados en el código.
# Generar un parche con los cambios aún no confirmados
git diff > cambios.patch
Una vez generado el archivo cambios.patch
, puedes enviárselo a tu compañero, quien podrá aplicarlo en su repositorio ejecutando:
git apply cambios.patch
Ventajas:
Desventajas:
git stash
y compartirlo como parche
Otra alternativa útil es usar git stash
, una funcionalidad de Git que permite almacenar temporalmente cambios sin confirmarlos. Luego, podemos exportarlos en un parche para compartirlos.
# Guardar los cambios actuales en un stash
git stash
# Crear un parche del stash más reciente
git stash show -p > cambios-stash.patch
Tu compañero podrá aplicar los cambios en su entorno ejecutando:
git apply cambios-stash.patch
Ventajas:
Desventajas:
Si prefieres un método más manual y directo, puedes identificar los archivos modificados y compartirlos directamente con tu compañero mediante correo electrónico, almacenamiento en la nube o cualquier otro medio.
# Listar los archivos modificados
git status --porcelain
Luego, simplemente copia y envía los archivos necesarios.
Ventajas:
Desventajas:
Si tienes acceso al mismo repositorio remoto, una excelente opción es crear un branch temporal, donde puedes añadir los cambios sin confirmarlos y compartirlos con tu compañero.
# Crear un nuevo branch temporal
git checkout -b feature-temporal
# Añadir los cambios sin confirmarlos
git add .
# Exportar el branch como un bundle (paquete Git)
git bundle create cambios.bundle feature-temporal
Para importar el branch en otro equipo, tu compañero puede ejecutar:
git clone cambios.bundle -b feature-temporal nuevo-directorio
Ventajas:
Desventajas:
git archive
para exportar los archivos modificados
Si solo necesitas compartir los archivos modificados sin incluir el historial de Git, puedes usar el comando git archive
, que permite crear un archivo comprimido con los cambios actuales.
git archive --output=cambios.zip HEAD $(git diff --name-only)
Después de compartir el archivo ZIP, tu compañero solo tiene que descomprimirlo y copiar los archivos en su proyecto.
Ventajas:
Desventajas:
La mejor opción dependerá de tu caso de uso específico. Aquí te dejo algunas recomendaciones:
¡Espero que estas opciones te ayuden a compartir tus cambios de manera eficiente con tu equipo! 🚀
Jorge García
Fullstack developer