> Faqs > Por qué necesito un fork de un repositorio de GitHub y no hago un simple clonado

Por qué necesito un fork de un repositorio de GitHub y no hago un simple clonado

He recibido una pregunta en el canal de Youtube que me parece que está muy bien para publicar como FAQ. Aquí va:

¿Por qué hacer un FORK de un repositorio de GitHub cuando puedes hacer un simple CLONADO?

¿Por qué necesito un fork en vez de un clone? ¿No es suficiente con clonar el repositorio o simplemente descargar el zip del código del proyecto? ¿en qué casos podría venir bien hacer un fork?

Respuestas

Primero: No hay ninguna necesidad de hacer un fork si es un repositorio tuyo o si perteneces al equipo de desarrollo de ese repositorio. El fork está pensado para repositorios de otras personas, donde no tienes permisos para hacer actualizaciones del código de ese repostirio.

Podría interesarte hacer un fork por este motivo:

  • Si haces un clone de un repositorio que no es tuyo, luego no podrás enviar los cambios a ese repositorio de GitHub, a no ser que el dueño de ese repo te haga colaborador.

Por tanto, si solamente quieres descargarte un repo de alguna otra persona, para ver qué tal funciona, hacer unas pruebas en local y cambiar alguna cosa puntual y ver qué pasa, estudiar el código con calma en tu propio editor o cosas así... para todo esto sería suficiente hacer un clonado y listo. Sin embargo, ese clonado no te permitirá más tarde hacer ninguna colaboración o publicar cambios en GitHub, porque el repositorio que has clonado no te pertenece y/o no tienes permisos como colaborador.

El fork entonces te servirá si piensas que vas a continuar ese proyecto, el publicado en el repositorio, por tu cuenta. Gracias a un Fork lo que estás haciendo es una copia del repositorio. Podrás agregar código y enviárlo a GitHub, en tu propio fork, ya que el repo entonces sí será tuyo. Es decir, si quieres tener una copia del repositorio para hacer cambios y luego mantener el seguimiento de esos cambios con Git y publicarlos más tarde en GitHub, entonces tienes que hacer el Fork.

Además, algo también muy importante, si piensas colaborar con el repositorio de otra persona, enviando cambios que sugieres para ese proyecto y piensas que esa persona los podrá mergear (fusionar) más adelante con el propio proyecto, necesitas hacer un fork. Gracias a un fork luego podrás enviar un pull request de los cambios que hayas realizado en el proyecto.

Encuentra más información en el artículo de fork en GitHub. También si te interesa puedes saber más en el artículo de Pull request.

Miguel Angel
2425 113 163 7