Estrategias para sincronizar bifurcaciones con Git y GitHub

Trabajar con repositorios Git en plataformas como GitHub a menudo implica el uso de bifurcaciones. Una bifurcación es una copia de un repositorio que administras en tu cuenta personal. Le permite experimentar con cambios sin afectar el diseño original. Sin embargo, mantener tu bifurcación sincronizada con el repositorio original puede ser un desafío. Exploremos algunas estrategias efectivas para mantener sus horquillas actualizadas.

Comprender la necesidad de sincronización

Antes de sincronizar, es importante comprender por qué es necesario. Cuando bifurcas un repositorio, creas una copia del estado actual del proyecto. Con el tiempo, el repositorio original puede recibir actualizaciones a través de nuevas confirmaciones, solicitudes de extracción aceptadas o incluso correcciones de errores. Si desea que su bifurcación refleje estos cambios, deberá sincronizarlo periódicamente.

Configuración de un flujo ascendente remoto

El primer paso para sincronizar su bifurcación es configurar un flujo ascendente remoto que apunte al repositorio original. Esto le permite recuperar los últimos cambios del proyecto original en su bifurcación localmente.

git remoto agregar upstream https://github.com/original_owner/original_repository.git
  

Después de agregar el upstream, puede verificar los controles remotos configurados con el comando git remote -v. Esto enumerará todos los controles remotos asociados con su repositorio local.

Buscando un cambio ascendente

Con el flujo ascendente remoto configurado, ahora puede recuperar los últimos cambios del repositorio original usando el comando:

git buscar en sentido ascendente
  

Esto traerá todas las ramas y sus respectivas confirmaciones del repositorio original a su repositorio local, pero no cambiará ninguno de sus archivos o ramas.

Fusionar los cambios

Una vez que haya obtenido los cambios, el siguiente paso es fusionarlos en su rama de trabajo. Generalmente, esto se hace en la rama master o principal.

git checkout master
git fusionar aguas arriba/maestro
  

Esto fusionará los cambios del repositorio original en su rama maestra. Si hay conflictos, deberá resolverlos antes de completar la fusión.

Rebase como alternativa

En lugar de fusionarse, puede optar por cambiar la base de su rama de trabajo con la rama ascendente. Rebase reescribe el historial de confirmaciones aplicando los cambios además de las actualizaciones más recientes del repositorio original.

git checkout master
git rebase ascendente/maestro
  

Puede ser preferible rebase si desea mantener un historial de confirmaciones lineal. Sin embargo, puede ser más complicado de manejar si trabaja en colaboración y comparte sucursales con otros desarrolladores.

Resolver conflictos

Tanto la fusión como el cambio de base pueden generar conflictos si se cambiaron las mismas líneas de código en el repositorio original y su bifurcación. Cuando esto suceda, Git pausará el proceso y le pedirá que resuelva los conflictos manualmente. Después de resolver los conflictos, debe marcarlos como resueltos y continuar con el proceso de rebase o completar la fusión.

Empujando hacia tu bifurcación en GitHub

Después de sincronizar localmente, deberás enviar los cambios a tu bifurcación de GitHub para que refleje las actualizaciones.

git push origen maestro
  

Si ha realizado una rebase, es posible que necesite forzar la inserción con la opción --force, pero tenga cuidado al hacerlo, ya que esto puede sobrescribir el historial en GitHub.

Sincronización automatizada

Si sincroniza con frecuencia, puede resultar útil automatizar este proceso. Se pueden configurar scripts o herramientas de integración continua para realizar la sincronización a intervalos regulares o en eventos específicos en el repositorio original.

Consideraciones finales

Sincronizar una bifurcación con el repositorio original es una práctica importante en el desarrollo colaborativo. Garantiza que esté trabajando con el código base más actualizado y que sus contribuciones se puedan integrar sin problemas. Recuerda comunicarte con otros colaboradores para evitar complicaciones al utilizar estrategias como el rebase. Con estos consejos y mejores prácticas, puede mantener su bifurcación sincronizada y contribuir de manera efectiva a proyectos colaborativos o de código abierto en GitHub.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es el primer paso para sincronizar tu bifurcación con el repositorio original en GitHub?

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

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Copias de seguridad y duplicación de repositorios.

Siguiente página del libro electrónico gratuito:

57Copias de seguridad y duplicación de repositorios.

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.