Actualizar un Fork con el Proyecto Original

Actualmente es fácil crear y mantener tu código en una plataforma como GitHub usando Git. Existen también otras plataformas como Bitbucket o GitLab que también son unas buenas soluciones para mantener nuestro código usando Git. Pero si buscas otras alternativas menos extendidas y conocidas puedes consultar en AlternativeTo.

Gracias a Git resulta sencillo descargar un repositorio de otro desarrollador para poder trabajar con él. En líneas generales puedes trabajar dicho repositorio usando la URL de clonado o puedes crear un fork del repositorio, que pasa a ser una copia del repositorio bajo tu completa administración. El caso que en este artículos nos atañe toma como premisa el segundo caso.

Cuando hemos hecho un fork y queremos incluir características en nuestro fork que se añadieron en el proyecto original después de que creáramos nuestro fork, es necesario hacer un fetch de la rama que queramos del proyecto original y hacer un merge con nuestro código.

Voy a explicarlo primero por línea de comandos y luego para aquellos que uséis un cliente del estilo TortoiseGit.

Abrid el terminal o consola de comandos y situarlo en el directorio donde esté vuestro proyecto.  Cambiad a la rama con la que se desea fusionar. Por lo general, suele ser la rama master.

git checkout master

A continuación se hace un pull de la rama del proyecto original de donde se quiere fusionar.

git pull https://github.com/PROPIETARIO_ORIGINAL/REPOSITORIOORIGINAL.git NOMBRE_DEL_BRANCH

Es posible hacer primero fetch y luego un merge, que es lo mismo que hacer un pull. Si hubiera algún conflicto se resuelve y se realiza un commit.

git commit -m "mensaje"

Por último haced push a vuestro repositorio remoto y ya tendréis los cambios incluidos en vuestro repositorio remoto para que sean descargados.

git push origin master

 

Si eres usuario de  TortoiseGit, lo más fácil es añadir un remote nuevo. Con el botón derecho del ratón haced click sobre el proyecto, haced luego click en “Settings“, e id a “Remote” para crear un nuevo remote  con la dirección URL del proyecto original (https://github.com/XXX/XXXX.git).

TortoiseGit-adding_new_remote

El remoto existente con el nombre origin hace referencia al repositorio original de vuestro proyecto. Nuestro nuevo remoto lo llamaremos upstream, por ser el proyecto de donde hicimos fork.

Cuando hayamos terminado le damos a “Add New/Save” y nos sugerirá hacer un fetch del nuevo remoto, o sino hacemos click con el botón derecho del ratón en el proyecto y le damos a “Fetch“. Si usamos la segunda opción recordar hacer el fetch de upstream y no de origin. Una vez hecho esto sólo queda hacer merge de nuestro master de origin con el de upstream, para ello previamente hacemos un “Checkout” a master con el botón derecho del ratón y luego de nuevo el botón derecho y “Merge“.

TortoiseGit-merge

Si hay algún conflicto se resuelve seleccionando los cambios que nos quedamos de cada parte (origin o upstream).

Una vez resueltos los conflictos, si los hubiera, haced un “Commit” guardar los cambios y un “Push” para subirlo al repositorio remoto.

En la ayuda de GitHub, puedes encontrar más información:

https://help.github.com

1845 Visitas Totales 2 Visitas para Hoy

Deja un comentario