Como trabajar con un fork en github

Un fork en programación, es coger el código fuente de un programa y empezar un desarrollo paralelo al original. Hoy os voy a explicar como trabajar con un fork en la herramienta de desarrollo github. Voy a dar por hecho que todo el mundo tiene cuenta y sabe usar github.

Como ejemplo vamos a poner el repositorio del Clone-wars que tiene Obijuan:

Nos vamos a la página del proyecto y le damos al botón Fork   y se nos creará una copia en nuestra cuenta

  • Nos decargamos el repositorio forkeado de NUESTRO github (git@github.com:darkomen/Clone-wars.git)

Para ello desde un terminal, nos vamos al directorio donde queramos tener la carpeta y ejecutamos

git clone git@github.com:darkomen/Clone-wars.git

A partir de este momento es muy importante diferenciar entre nuestro fork, y el repositorio original

  • Nos metemos en la carpeta Clone-wars

cd Clone-wars/

  • Añadirmos un remote del repositorio de obijuan y lo llamamos upstream

git remote add upstream https://github.com/Obijuan/Clone-wars.git

  • SIEMPRE antes de hacer ninguna modificación actualizamos el repositorio

git pull upstream master

con eso actualizaremos el repositorio, en caso de no haber cambios, nos dirá que está todo actualizado.

Si queremos añadir algo nuevo al fork, primero lo deberemos añadir a nuestro repositorio

git add fichero

git commit -m ‘Cambios realizados’

git push origin master

Con estos tres comandos tendremos subido el fichero a nuestro repositorio, ahora nos dirigimos a la página de github de nuestro repositorio. Pulsaremos en el botón Pull Request 

y nos aparecerá una página donde deberemos rellenar la información de la actualización que hemos realizado, al completarla le daremos a finalizar, y le mandaremos la información a Obijuan indicándole de que hemos añadido una mejora.

Este caso es uno en concreto usando el repositorio de Clone-wars, sobra decir que el funcionamiento es parejo con cualquier otro repositorio que usemos de git.